| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- define([ 'app/app','common/services','service/Purc'], function(app) {
- app.register.controller('OutputCtrl',['$scope', '$http', '$rootScope', '$location', '$filter','$stateParams','$modal','PurcOrder','toaster', 'OutOper', 'SupportUtil','Ring', 'Online','ngTableParams','SessionService','$document', 'smartySuggestor', '$window', '$timeout', function($scope, $http, $rootScope, $location, $filter,$stateParams,$modal,PurcOrder,toaster, OutOper, SupportUtil,Ring, Online,ngTableParams,SessionService,$document, smartySuggestor, $window, $timeout){
- $scope.orders = $rootScope.outMMOrders || [];
- $rootScope.title = '';
- $scope.whcode = SessionService.getCookie('defaultWhcode');
- var again = 1;//解决请求在未返回之前重复
- $scope.tableParams = new ngTableParams({
- page : 1,
- count : 10,
- sorting : {
- PD_PDNO: 'ASC'
- },
- filter : {}
- }, {
- total: $scope.orders.length,
- getData : function($defer, params) {
- var orderedData = params.sorting() ?
- $filter('orderBy')($scope.orders, params.orderBy()) :
- $scope.orders;
- orderedData = params.filter() ?
- $filter('filter')(orderedData, params.filter()) :
- orderedData;
- params.total(orderedData.length);
- $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
- }
- });
- setTimeout( function(){
- try{
- document.getElementById("batchCode").focus();
- } catch(e){}
- }, 200);
- var getProdcode = function(code,whcode,pi_id) {
- $scope.loading = true;
- OutOper.get({inoutNo: code,whcode:whcode,pi_id:pi_id}, function(data) {//获取成功
- again = 1;
- $scope.loading = false;
- if(data.exceptionInfo){
- toaster.pop('error', '查询失败',data.exceptionInfo);
- Ring.error();
- }else if(data.target && data.totalCount > 0){
- var or = new Object();
- or = data.target;
- $scope.whcode = or[0].PI_WHCODE;
- $scope.orders.push(or[0]) ;//= data.target;
- $rootScope.outMMOrders = $scope.orders;
- $scope.tableParams.reload();
- Ring.success();//提示成功响铃
- $scope.batchCode = '';//重置输入框
- }
- }, function(response){//获取失败处理
- if(response.status == 0){ //无网络错误
- Online.setOnline(false);//修改网络状态
- Ring.error();
- toaster.pop('error', "网络连接不可用,请稍后再试");
- }else{
- $scope.loading = false;
- toaster.pop('error', '查询失败',response.data.exceptionInfo);
- Ring.error();
- }
- again = 1;
- });
- };
- var getWhcode = function(code,whcode,pi_id){
- again = 0;
- PurcOrder.getWhcode({inoutNo:code,whcode:whcode,pi_id:pi_id,condition:'pd_outqty'},{},function(data){
- if(data.exceptionInfo){
- toaster.pop('error', '查询失败',data.exceptionInfo);
- Ring.error();
- }else if(data.data.length > 1 && data.data[0].PI_INOUTNO){ //弹出选择框,选择出入库单号,类型
- $scope.items = data.data;
- var modalInstance = $modal.open({
- templateUrl: 'billModalContent.html',
- controller: 'ModalInstanceCtrl',
- resolve: {
- items: function () {
- return $scope.items;
- }
- }
- });
- modalInstance.result.then(function(selectedItem) {
- $scope.selected = selectedItem;
- getWhcode($scope.selected.PI_INOUTNO,whcode,$scope.selected.PI_ID);
- });
- }else if(data.data.length > 1 && data.data[0].PD_WHCODE){
- //弹出选择框,选择仓库
- $scope.items = data.data;
- var modalInstance = $modal.open({
- templateUrl: 'myModalContent.html',
- controller: 'ModalInstanceCtrl',
- resolve: {
- items: function () {
- return $scope.items;
- }
- }
- });
- modalInstance.result.then(function(selectedItem) {
- $scope.selected = selectedItem;
- getProdcode($scope.batchCode,$scope.selected,data.data[0].PI_ID);
- });
- }else{
- getProdcode(code,data.data[0].PD_WHCODE,data.data[0].PI_ID);
- }
- },function (response){
- if(response.status == 0){ //无网络错误
- Online.setOnline(false);//修改网络状态
- Ring.error();
- toaster.pop('error', '提交失败',"网络连接不可用,请稍后再试");
- }else{
- toaster.pop('error', '查询失败',response.data.exceptionInfo);
- }
- again = 1;
- });
- };
- $scope.getOrder = function(code,whcode) {//根据输入的单据id号获取下载单据信息
- if(again == 1){
- if(SupportUtil.contains(JSON.stringify($scope.orders),code,"PI_INOUTNO") || SupportUtil.contains(JSON.stringify($scope.orders),code,"PI_ID")){//请求的单据id或者单号已经被下载在本地了
- toaster.pop('error', '单据重复',"请勿重复采集");
- } else {//请求的单据id或者单号未被下载在本地了,向服务器发送请求获取数据
- if(!whcode){
- whcode = '';
- }
- if(!code){
- alert("请输入出库单号!");
- return ;
- }
- getWhcode(code,whcode);
- }
- }
- };
-
- $scope.search = function($event, batchCode,whcode){//enter键触发事件
- if($event.keyCode == 13) {//Enter事件
- $scope.getOrder(batchCode,whcode);
- }
- };
-
- $scope.operate = function(order) {//跳转至对应的单据操作页面
- if(!$scope.again){
- $scope.selectedId = order.PI_INOUTNO;
- $location.path('outMMOperation/' + order.PI_INOUTNO);
- }
- $scope.again = false;
- };
-
- /*var getClearAgain = function(order){
- var grid = $rootScope.outMMgrid;
- angular.forEach(grid, function(value, key){
- if(value.bi_inoutno == order.PI_INOUTNO) {//出入库单号相等删除
- $rootScope.outMMgrid.splice(key,1);
- }
- });
- angular.forEach($scope.orders, function(value, key){
- if(value.PI_ID == order.PI_ID) {//修改状态
- $scope.orders.splice(key,1);
- }
- });
- $rootScope.outMMOrders = $scope.orders ;
- getWhcode(order.PI_INOUTNO,order.PI_WHCODE,order.PI_ID);
- }*/
- $scope.getAgain = function (order){//重新采集
- if(confirm("确认重新采集,将会清空所有已采集数据包含已提交的数据")){
- PurcOrder.clearGet({no:order.PI_ID,whcode:order.PI_WHCODE,type:'out'},{},function(data){
- if(data.exceptionInfo){
- /* var str = data.exceptionInfo;
- if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){
- str = str.replace('AFTERSUCCESS', '');
- toaster.pop('success',str);
- getClearAgain(order);
- }else{*/
- toaster.pop('error',data.exceptionInfo);
- Ring.error();
- //}
- }else {
- var grid = $rootScope.outMMgrid;
- angular.forEach(grid, function(value, key){
- if(value.bi_inoutno == order.PI_INOUTNO) {//出入库单号相等删除
- $rootScope.outMMgrid.splice(key,1);
- }
- });
- angular.forEach($scope.orders, function(value, key){
- if(value.PI_ID == order.PI_ID) {//修改状态
- $scope.orders.splice(key,1);
- }
- });
- $rootScope.outMMOrders = $scope.orders ;
- getWhcode(order.PI_INOUTNO,order.PI_WHCODE,order.PI_ID);
- toaster.pop('success', '已清空采集数据');
- }
- },function(response){
- if(response.status == 0){ //无网络错误
- Online.setOnline(false);//修改网络状态
- Ring.error();
- toaster.pop('error', "网络连接不可用,请稍后再试");
- }else{
- toaster.pop('error', '清空失败');
- }
- });
- }
- $scope.again = true;
- };
- $scope.deleteDe = function (order){
- if(confirm("确认删除?")){
- angular.forEach($scope.orders, function(value, key){
- if(value.PI_ID == order.PI_ID) {//修改状态
- $scope.orders.splice(key,1);
- }
- });
- $rootScope.orders = $scope.orders ;
- $scope.tableParams.reload();
- Ring.success();
- toaster.pop('success', '删除成功');
- }
- };
- //模糊查询
- $scope.suggestions = function(val){
- if (val == "" || angular.isUndefined(val) || val.length < 3) {
- return null ;
- }else{
- return smartySuggestor.getSmartySuggestions(val,'pd_outqty').then(function(res) {
- if(res.data != null && res.data.length > 0){
- return $filter("limitTo")(res.data, 5).map(function(item) {
- return item.PI_INOUTNO;
- });
- }
- });
- }
- };
- }]);
- });
|