The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
résumé d'aide en ligne uwork72 De programmation et de script Shell 4 09-07-2008 09:56 AM
Comment un résumé de l'utilisation du processeur de commande? jiarong.lu HP-UX 1 02-22-2008 11:03 AM
grep fonctionnement total / total final à travers de multiples fichiers Mrad UNIX pour les nuls Questions et réponses 5 05-08-2007 02:03 PM
Sommaire System Tools vader UNIX pour les nuls Questions et réponses 2 07-03-2002 03:28 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 04-22-2009
xiaojesus xiaojesus is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 20
comment ajouter au total dans un rapport de synthèse?

Salut à tous, j'ai reçu un script, mais i cant ajouter le rapport de synthèse .. tenir compte synax erreur. aide-moi l'esprit de jeter un oeil et me dire ce qui n'allait pas ..

Je sais que c'est un peu long, mais j'espère que quelqu'un pourra me hep avec elle. merci

le message d'erreur lorsque je venir essayer d'exécuter le rapport de synthèse ..

i guess 1 du problème est le système date.thing.

le problème est sur le point de vente.

J'essaie de les ajouter toutes les ventes quotidiennes et ont un grand total de toutes les ventes de tous les jours.
ci-dessous est le code.




Code:
# Global variables
POS=~/.Point_Of_Sales
POS=POS.txt
export POS

confirm()
{
  echo -en "$@"
  read ans
  ans=`echo $ans | tr '[a-z]' '[A-Z]'`
  if [ "$ans" == "Y" ]; then
    return 0
  else
    return 1
  fi
}

num_lines()
{
  grep -i "$@" $POS|wc -l| awk '{ print $1 }'
}

find_lines()
{
  # Find lines matching $1
  res=-1
  if [ ! -z "$1" ]; then
    grep -i "$@" $POS
    res=$?
  fi
  return $res
}

list_items()
{
  # List items matching given search criteria
  if [ "$#" -eq "0" ]; then
    echo -en "Search for: (return to list all) "
    read search
    if [ -z "$search" ]; then
      search="."
    fi
    echo
  else
    search="$@"
  fi
  find_lines "${search}" | while read i
  do
    echo "$i" | tr ':' '\t'
  done
  echo -en "Matches found: "
  num_lines "$search"
}

add_item()
{
  echo "Add Item: You will be prompted for 3 items:"
  echo "- Item Description, Unit Price, Quantity Purchased -"
  echo
  echo -en "Item Description:"
  read product
  echo -en "Unit Price:"
  read Unit_Price
  echo -en "Quantity:"
  read Quantity
  Date_Purchased=$(date +"%d %b %Y")  
  

  echo "${product}:${Unit_Price}:${Quantity}:${Date_Purchased}" >> $POS
}

locate_single_item()
{
  echo -en "Item to search for: "
  read search
  n=`num_lines "$search"`
  if [ -z "$n" ]; then
    n=0
  fi
  while [ "${n}" -ne "1" ]; do
    #list_items "$search"
    echo -en "${n} matches found. Please choose a "
    case "$n" in 
      "0") echo "less" ;;
      "*") echo "more" ;;
    esac
    echo "specific search term (q to return to menu): "
    read search
    if [ "$search" == "q" ]; then
      return 0
    fi
    n=`num_lines "$search"`
  done
  return `grep -in $search $POS |cut -d":" -f1`
}

remove_item()
{
  locate_single_item
  search=`head -$? $POS | tail -1|tr ' ' '.'`
  if [ -z "${search}" ]; then
    return
  fi
  list_items "$search"
  confirm "Remove?"
  if [ "$?" -eq "0" ]; then
    grep -v "$search" $POS > ${POS}.tmp ; mv ${POS}.tmp ${POS}
  else
    echo "NOT REMOVING"
  fi
}

edit_item()
{
  locate_single_item
  search=`head -$? $POS | tail -1|tr ' ' '.'`
  if [ -z "${search}" ]; then
    return
  fi
  list_items "$search"
  thisline=`grep -i "$search" $POS`
  oldProduct=`echo $thisline|cut -d":" -f1`
  oldUnitPrice=`echo $thisline|cut -d":" -f2`
  oldQuanity=`echo $thisline|cut -d":" -f3`
  echo "SEARCH : $search"
  grep -v "$search" $POS > ${POS}.tmp ; mv ${POS}.tmp ${POS}
  echo -en "Item Description: [ $oldProduct ] "
  read Product
  echo -en "Unit Price[ $oldUnitPrice ] "
  read Unit_Price
  echo -en "Quanity [ $oldQuanity ] "
  read Quanity
  Date_Purchased=$(date +"%d %b %Y")  
  echo "${Product}:${Unit_Price}:${Quanity}:${Date_Purchased}" >> $POS
}
summary_items()
{
  #echo "- - - POS Summary Report - - -"
  #echo "---------------------------"
  #echo "Date       Total POS"
  #echo "---------------------------"
  print_dtotal
  #echo "---------------------------"
  #print_gtotal
  #echo "---------------------------"
  #echo -en "Best Selling Product: "
  #print_bestsell
  #echo -en "Product with Highest POS: "
  #print_phighPOS
  #echo -en "Date with Highest POS: "
  print_dtotal | sort -f4| while read z
    do
        echo $z | cut -f4 -d' '
        return 0
    done
  echo
  echo -en "Press Enter to continue..."
  read
}
print_dtotal()
{
  count=0
  grep -i : $POS | cut -d: -f4 | sort -u | while read i
    do
        dtotal=0
    grep -i "$i" $POS | while read x
        do
            count=`expr $count + 1`
            temp1=`echo $x | cut -d: -f2 | cut -c2-`
            temp2=`echo $x | cut -d: -f3`
            temp3=`calcu_m $temp1 $temp2`
                        dtotal=`calcu_a $dtotal $temp3`
            n=`num_lines "$i"`
               if [ "${n}" -eq "${count}" ]; then
                echo  $i"        $"$dtotal
              fi
        done
    done 

}
print_gtotal()
{
  gtotal=0
  grep -i : $POS | while read x
    do
        temp1=`echo $x | cut -d: -f2 | cut -c2-`
        temp2=`echo $x | cut -d: -f3`
        temp3=`calcu_m $temp1 $temp2`
                gtotal=`calcu_a $gtotal $temp3`
        n=`num_lines "$i"`
           if [ "${n}" -eq "${count}" ]; then
            echo  "Grand Total      $"$gtotal
          fi
        count=`expr $count + 1`
    done 

}
print_bestsell()
{
   grep -i : $POS | sort -k4 -r -t: | while read bs
    do
           echo $bs | cut -d: -f1
        return 0
    done
}
print_phighPOS()
{
      count=0
        phigh="0.0"
    grep -i : $POS | while read x
        do
            count=`expr $count + 1`
            temp1=`echo $x | cut -d: -f2 | cut -c2-`
            temp2=`echo $x | cut -d: -f3`
            temp3=`calcu_m $temp1 $temp2`
            comparex $temp3 $phigh
               if [ "$?" -eq "0" ]; then
                phigh=$temp3
                phighx=`echo $x | cut -d: -f1`
              fi
            n=`num_lines ":"`
               if [ "${n}" -eq "${count}" ]; then
                echo  $phighx
              fi
        done
}
comparex()        # compare 2 decimal numbers $1 $2 eg 1.20 and 3.60
{
    x1=`echo $1 | cut -d. -f1`
    x2=`echo $1 | cut -d. -f2`
    y1=`echo $2 | cut -d. -f1`
    y2=`echo $2 | cut -d. -f2`
    if [ "${x1}" -gt "${y1}" ]; then
        return 0
    elif [ "${x1}" -eq "${y1}" ]; then
        if [ "${x2}" -gt "${y2}" ]; then
            return 0
        fi
    fi
    return 1
}
calcu_a()        # add 2 decimal numbers $1 $2
{
    x1=`echo $1 | cut -d. -f1`
    x2=`echo $1 | cut -d. -f2`
    y1=`echo $2 | cut -d. -f1`
    y2=`echo $2 | cut -d. -f2`
    x1=`expr $x1 + $y1`
    x2=`expr $x2 + $y2`
    x3=`expr $x2 \/ 100`
    x1=`expr $x1 + $x3`
    x2=`expr $x2 \% 100`
    echo $x1"."$x2
}
calcu_m()        # multiply 2 decimal numbers $1 $2
{
    x1=`echo $1 | cut -d. -f1`
    x2=`echo $1 | cut -d. -f2`
    y=`echo $2`
    x1=`expr $x1 \* $y`
    x2=`expr $x2 \* $y`
    x3=`expr $x2 \/ 100`
    x1=`expr $x1 + $x3`
    x2=`expr $x2 \% 100`
    echo $x1"."$x2
}
 

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 09:06 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0