Advertisement
Guest User

Untitled

a guest
Aug 28th, 2015
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 30.55 KB | None | 0 0
  1. import java.text.ParseException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4.  
  5.  
  6.  
  7. import pl.com.mds.gus.sms.gxt.model.mmm.MetadataObjectDTO;//import biblioteki
  8.     def kopiuj_warunki_przylaczenia(){
  9.         def parentRelation = model.getRelationInfo();
  10.         def nazwa_rodzica=null;
  11.    
  12.         if (parentModel != null){
  13.             parentObject = api.getObjectService().findObjectById(parentRelation.sourceObjectId)
  14.             nazwa_rodzica=parentObject.name;
  15.    
  16.             if(nazwa_rodzica.equals('Sprawa')){
  17.                 def api = C3Api.getInstance();//pobiera referencje do C3Api
  18.                 MetadataObjectDTO wniosek= api.getObjectService().findObjectByUuid('eece523a-7bfb-465e-9003-4c16b2b1d0b0');//Uuid wniosek
  19.                 MetadataObjectDTO sprawa= api.getObjectService().findObjectByUuid('06fdd8ae-01ae-4e3f-b77a-653f8fe6b706');//Uuid sprawa
  20.                 MetadataObjectDTO warunki_przylaczenia= api.getObjectService().findObjectByUuid('a8060162-00c8-4dd1-bbda-79a9d6d47907'); //Uuid warunki przyłączenia
  21.                 ModelProxy newInstance = api.getInstanceServices().createNewInstance(wniosek.id);//model proxy to typ który rozszerza hashmap, tutaj id wniosku
  22.                 newInstance.gmina = model.gmina;//pododawać wszystkie atrybuty z warunki przyłaczenia do wniosku
  23.                 newInstance.obiekt___gmina = model.o_gmina;
  24.                 newInstance.kraj2 = model.kraj;
  25.                 def HashMap<String,Object> paramsHql = new HashMap<String,Object>();
  26.                 where = "select a from " +wniosek.tableName+ " a where a.usuniety=:falseValue and cast(a.aktywny as int)=1";
  27.                 paramsHql.put("falseValue",false);
  28.                 def instanceWniosek = api.getInstanceServices().findInstanceUsingHql(where,wniosek.getOwnerModel(),paramsHql);
  29.                 api.getInstanceServices().quickSaveModel(wniosek.id, instanceWniosek.get(0));
  30.    
  31.             }
  32.         }
  33.    
  34.     }
  35.    
  36.     /* Anna Wójcik, 03.06.2015 generowanie czteroznakowego cyfrowego hasła dla Wniosku i Wniosku WZD
  37.     */
  38.     def generowanieHasla(){  
  39.         def haslo = "";
  40.         Random rand = new Random();
  41.         for(int i=0;i<4;i++){
  42.             haslo += (rand.nextInt(9));
  43.         }
  44.         return haslo;
  45.     }
  46.    
  47.    
  48.    
  49.    
  50.     /*
  51.     Marcel Różański, napisano dn 03.06.2015, Metoda pobiera kod jednostki pge na podstawie pol adresu z formularza reo
  52.     */
  53. def pobierzKodPge(ModelProxy model){
  54.  
  55.    // throw new Exception("test " + model.gmina)
  56.    def kodJednostki="A0";
  57.    def api = C3Api.getInstance();
  58.    def instanceService= api.getInstanceServices();
  59.    def objectService= api.getObjectService();
  60.    reonizacjaObject=objectService.findObjectByUuid("b07627c1-7525-41f3-b950-a386b7c5dff0");
  61.    hql="select a from "+reonizacjaObject.getTableName() + " a where ";
  62.    boolean create = false;
  63.    log.debug("gmina:" + model.gmina + " miejscowosc: " +model.miejscowosc )
  64.    if(model.gmina ) {
  65.        hql +="gmina like '" + model.gmina+ "'"  ;
  66.        create= true;
  67.        
  68.    }
  69.    if(model.miejscowosc){
  70.        hql += " and miasto like '" +model.miejscowosc+ "'";
  71.        create= true;
  72.    }
  73.    if(model.ulica){
  74.        hql += " and ulica like '" +model.ulica+ "'";
  75.        create= true;
  76.    }
  77.    if(create){
  78.        def instancesRejonizacji= instanceService.findInstanceUsingHql( hql, reonizacjaObject, null);
  79.         //kod_jednostki_pge
  80.         log.debug("znaleziono" + instancesRejonizacji.toString())
  81.        if(instancesRejonizacji){
  82.            def instanceRejonizacja=instancesRejonizacji.get(0);
  83.            kodJednostki=instanceRejonizacja.kod_jednostki_pge;
  84.            // throw new Exception("test "+ instanceRejonizacja.kod_jednostki_pge);
  85.        }
  86.        
  87.    }
  88.    log.debug("kod jednostki" + kodJednostki)
  89.     return kodJednostki;
  90. }
  91.  
  92.     /*
  93.     Marcel Różański, napisano dn 23.06.2015, Metoda ma zwraca datę z odpowiednim przesunięciem  liczby dni wolnych
  94.     w oparciu o obiekt Kalendarz dni wolnych
  95.     */
  96.    
  97.  def dniWolne(Integer liczbaDni, Date data){
  98.     data = data.clearTime()
  99.     def api = C3Api.getInstance();
  100.     def  instanceService=api.getInstanceServices();
  101.     def objectService= api.getObjectService();
  102.     kalendarzObject=objectService.findObjectByUuid("f25288c9-8409-4610-af56-f0ad3086363d");
  103.     hql="select a from "+kalendarzObject.getTableName() + " a  where a.dzien_ = :data_param and a.usuniety = :falseValue";
  104.     while(liczbaDni !=0){
  105.         paramsHql = [:]
  106.         paramsHql.falseValue = false
  107.         paramsHql.data_param = data
  108.         def znalezioneInstancjeDlaDaty = instanceService.findInstanceUsingHql(hql, kalendarzObject, paramsHql)
  109.         if(znalezioneInstancjeDlaDaty || data.getDay()==6 || data.getDay()==0){
  110.             data += 1
  111.          } else {
  112.         --liczbaDni
  113.         data += 1
  114.         }
  115.     }
  116.     return data  
  117.      
  118.  
  119. }
  120.  
  121.  
  122. //Dawid Kuczer, metoda przyjmuje instancje sprawy, oraz napis do identyfikacji typu zlecenia
  123. //              metoda tworzy nowe instancje zlecenia oraz instancje pozycji do tego zlecenia
  124. def tworzenieZlecenSprzedazy(ModelProxy sprawa, String typZlecenia){
  125.    
  126.     def zleceniaSprzedazy_uuid = "678bb814-c77b-41bd-b465-16381c8eb22b"
  127.     def sprawa_uuid = "06fdd8ae-01ae-4e3f-b77a-653f8fe6b706"
  128.     def pozycjaZleceniaSprzedazy_uuid = "28eb81d3-3775-4e9b-8ec0-cb12736bce02"
  129.     def relation_zleceniaSprzedazy_uuid = "e653f497-e04b-48f3-8dee-4b4cbea13538"
  130.     def relation_pozycjeZleceniaSprzedazy_uuid = "7262e86c-2693-4b1b-b150-d1c17f506df3"
  131.     def relation_wniosek_uuid = "8d7bf0be-6da2-414e-b693-060ed7126eeb"
  132.     def relation_umowa_uuid = "cf67856f-ab44-4878-9e33-d5f7d35d4814"
  133.     def relation_faktura_uuid = "9fd30746-cc0f-4d34-a0a9-ef0a47e51156"
  134.    
  135.     c3 = C3Api.getInstance()
  136.    
  137.  
  138.    
  139.     def findTheLatestInstance = { lista ->
  140.         def max = lista.first()
  141.         lista.each{
  142.             if(max.id < it.id) max = it
  143.         }
  144.         max
  145.     }
  146.    
  147.  
  148.     def relation_wniosek_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_wniosek_uuid)
  149.     def wniosek_instancesList = sprawa.getRelationDtoInstances(relation_wniosek_obj)
  150.     def wniosek_instance
  151.     if(wniosek_instancesList) wniosek_instance = wniosek_instancesList.find{ it.aktywny }
  152.    
  153.     if(!wniosek_instance){
  154.         showInfo("blad", "Nie znaleziono aktywnej instancji wniosku")
  155.         log.error("Nie znaleziono aktywnej instancji wniosku")
  156.         return null
  157.     }
  158.  
  159.    
  160.     def relation_umowa_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_umowa_uuid)
  161.     def umowa_instancesList = sprawa.getRelationDtoInstances(relation_umowa_obj)
  162.     def umowa_instance
  163.     if(umowa_instancesList) umowa_instance = umowa_instancesList.find{ it.aktualny }
  164.    
  165.     if(!umowa_instance){
  166.         showInfo("blad", "Nie znaleziono aktywnej instancji umowy")
  167.         log.error("Nie znaleziono aktywnej instancji umowy")
  168.         return null
  169.     }
  170.    
  171.     def mapa = [:]
  172.    
  173.     def zleceniaSprzedazy_obj = c3.getObjectService().findObjectByUuid(zleceniaSprzedazy_uuid)
  174.     def zleceniaSprzedazy_instance = c3.getInstanceServices().createNewInstance(zleceniaSprzedazy_obj.id)
  175.    
  176.     zleceniaSprzedazy_instance = quickSaveModel(zleceniaSprzedazy_obj.id, zleceniaSprzedazy_instance)
  177.    
  178.     def relation_pozycjeZleceniaSprzedazy_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_pozycjeZleceniaSprzedazy_uuid)
  179.     def pozycjeZleceniaSprzedazy_instancesList
  180.     switch(typZlecenia){
  181.         case "Zlecenie wystawienia faktury zaliczkowej":
  182.            
  183.              
  184.             mapa.znacznik = "N"
  185.             mapa.numer_dok_ref = ""
  186.             mapa.rodzaj_dok_sprz = "ZJED"
  187.            
  188.             def pozycjaZleceniaSprzedazy_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  189.             def pozycjaZleceniaSprzedazy_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy_obj.id)
  190.            
  191.             pozycjaZleceniaSprzedazy_instance.nr_pozycji = "1"
  192.             pozycjaZleceniaSprzedazy_instance.rodzaj_warunku = "ZPB0"
  193.             pozycjaZleceniaSprzedazy_instance.nr_materialu = "80000188"
  194.             if(wniosek_instance) pozycjaZleceniaSprzedazy_instance.kwota = wniosek_instance.kwota_wplaconych_zaliczek
  195.             pozycjaZleceniaSprzedazy_instance.ilosc_zleceni_w_jednos_sprzeda = new BigDecimal("1")
  196.             pozycjaZleceniaSprzedazy_instance.grupa_cenowa_klienta = "02"
  197.            
  198.             quickSaveModel(pozycjaZleceniaSprzedazy_obj.id, pozycjaZleceniaSprzedazy_instance)
  199.            
  200.             def pozycjaZleceniaSprzedazy_list = []
  201.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy_instance
  202.             zleceniaSprzedazy_instance.putRelationsDto(relation_pozycjeZleceniaSprzedazy_obj, pozycjaZleceniaSprzedazy_list)
  203.             quickSaveModel(zleceniaSprzedazy_obj.id, zleceniaSprzedazy_instance)
  204.  
  205.            
  206.         case "Zlecenia wystawienia korekty do faktury zaliczkowej":
  207.            
  208.              
  209.             mapa.znacznik = "K"
  210.            
  211.             mapa.rodzaj_dok_sprz = "ZRKF"
  212.            
  213.             def relation_zleceniaSprzedazy_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_zleceniaSprzedazy_uuid)
  214.             def zleceniaSprzedazy_instancesList = sprawa.getRelationDtoInstances(relation_zleceniaSprzedazy_obj)
  215.             if(zleceniaSprzedazy_instancesList) zleceniaSprzedazy_instance = findTheLatestInstance(zleceniaSprzedazy_instancesList)
  216.             else{
  217.                 log.error("Nie znaleziono zadnych poprzednich instancji zlecen sprzedazy")
  218.                 break
  219.             }
  220.            
  221.            
  222.             pozycjeZleceniaSprzedazy_instancesList = zleceniaSprzedazy_instance.getRelationDtoInstances(relation_pozycjeZleceniaSprzedazy_obj)
  223.             if(pozycjeZleceniaSprzedazy_instancesList) pozycjeZleceniaSprzedazy_OldInstance = pozycjeZleceniaSprzedazy_instancesList.first()
  224.             else{
  225.                 log.error("Nie znaleziono zadnych poprzednich instancji pozycji zlecen sprzedazy")
  226.                 break
  227.             }
  228.            
  229.             def relation_faktura_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_faktura_uuid)
  230.             def faktura_instancesList = zleceniaSprzedazy_instance.getRelationDtoInstances(relation_faktura_obj)
  231.             if(faktura_instancesList) faktura_instance = faktura_instancesList.first()
  232.             else{
  233.                 log.error("Nie znaleziono zadnych instancji faktur do poprzedniego zlecenia")
  234.                 break
  235.             }
  236.             mapa.numer_dok_ref = faktura_instance.numer_faktury
  237.            
  238.             def pozycjaZleceniaSprzedazy_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  239.             def pozycjaZleceniaSprzedazy_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy_obj.id)
  240.            
  241.             pozycjaZleceniaSprzedazy_instance.nr_pozycji = pozycjeZleceniaSprzedazy_OldInstance.nr_pozycji
  242.             pozycjaZleceniaSprzedazy_instance.rodzaj_warunku = pozycjeZleceniaSprzedazy_OldInstance.rodzaj_warunku
  243.             pozycjaZleceniaSprzedazy_instance.nr_materialu = pozycjeZleceniaSprzedazy_OldInstance.nr_materialu
  244.             pozycjaZleceniaSprzedazy_instance.kwota = pozycjeZleceniaSprzedazy_OldInstance.kwota
  245.             pozycjaZleceniaSprzedazy_instance.ilosc_zleceni_w_jednos_sprzeda = pozycjeZleceniaSprzedazy_OldInstance.ilosc_zleceni_w_jednos_sprzeda
  246.             pozycjaZleceniaSprzedazy_instance.grupa_cenowa_klienta = pozycjeZleceniaSprzedazy_OldInstance.grupa_cenowa_klienta
  247.            
  248.             quickSaveModel(pozycjaZleceniaSprzedazy_obj.id, pozycjaZleceniaSprzedazy_instance)
  249.            
  250.             def pozycjaZleceniaSprzedazy_list = []
  251.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy_instance
  252.             zleceniaSprzedazy_instance.putRelationsDto(relation_pozycjeZleceniaSprzedazy_obj, pozycjaZleceniaSprzedazy_list)
  253.            
  254.         case "Zlecenie wystawienia faktury za opłatę za przyłączenie":
  255.            
  256.              
  257.             mapa.znacznik = "N"
  258.             mapa.numer_dok_ref = ""
  259.             mapa.rodzaj_dok_sprz = "ZJED"
  260.             def pozycjaZleceniaSprzedazy_list = []
  261.             def pozycjaZleceniaSprzedazy1_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  262.             def pozycjaZleceniaSprzedazy1_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy1_obj.id)
  263.            
  264.             pozycjaZleceniaSprzedazy1_instance.nr_pozycji = "1"
  265.             pozycjaZleceniaSprzedazy1_instance.rodzaj_warunku = "ZNT1"
  266.             if(sprawa.grupa_przylaczeniowa == "V" && wniosek_instance.zwiekszenie_poboru_mocy) pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000260"
  267.             else if(sprawa.grupa_przylaczeniowa == "VI" && wniosek_instance.zwiekszenie_poboru_mocy) pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000261"
  268.             else if(sprawa.grupa_przylaczeniowa == "II") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000171"
  269.             else if(sprawa.grupa_przylaczeniowa == "III") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000172"
  270.             else if(sprawa.grupa_przylaczeniowa == "IV") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000173"
  271.             else if(sprawa.grupa_przylaczeniowa == "V") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000174"
  272.             else if(sprawa.grupa_przylaczeniowa == "VI") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000175"
  273.             else if(sprawa.grupa_przylaczeniowa == "IV" && sprawa.typ_kalkulacji == "ryczałt") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000118"
  274.             else if(sprawa.grupa_przylaczeniowa == "V" && sprawa.typ_kalkulacji == "ryczałt") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000119"
  275.             else if(sprawa.grupa_przylaczeniowa == "VI" && sprawa.typ_kalkulacji == "ryczałt") pozycjaZleceniaSprzedazy1_instance.nr_materialu = "90000120"
  276.            
  277.            
  278.             if(sprawa.typ_kalkulacji == "ryczałt") pozycjaZleceniaSprzedazy1_instance.kwota = umowa_instance.sp___stawka_oplaty__zl_kw_
  279.             else if(wniosek_instance.zwiekszenie_poboru_mocy) pozycjaZleceniaSprzedazy1_instance.kwota = umowa_instance.szacunkow_oplata_za_przylaczen
  280.            
  281.            
  282.             if(sprawa.typ_kalkulacji == "ryczałt"){
  283.                 if(wniosek_instance.moc_docelowa_rez) pozycjaZleceniaSprzedazy1_instance.ilosc_zleceni_w_jednos_sprzeda = wniosek_instance.moc_docelowa_rez  
  284.                 else if(wniosek_instance.moc_docelowa_podst) pozycjaZleceniaSprzedazy1_instance.ilosc_zleceni_w_jednos_sprzeda = wniosek_instance.moc_docelowa_podst
  285.             }
  286.             else if(wniosek_instance.zwiekszenie_poboru_mocy) pozycjaZleceniaSprzedazy1_instance.ilosc_zleceni_w_jednos_sprzeda = new BigDecimal("1")
  287.            
  288.             pozycjaZleceniaSprzedazy1_instance.grupa_cenowa_klienta  = "01"
  289.            
  290.             def pozycjaZleceniaSprzedazy2_obj
  291.             def pozycjaZleceniaSprzedazy2_instance
  292.            
  293.             if(sprawa.l___dlugosc_przylacza > 200){
  294.                 pozycjaZleceniaSprzedazy2_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  295.                 pozycjaZleceniaSprzedazy2_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy2_obj.id)
  296.                
  297.                 pozycjaZleceniaSprzedazy2_instance.nr_pozycji = "2"
  298.                 pozycjaZleceniaSprzedazy2_instance.rodzaj_warunku = "ZNT1"
  299.                
  300.                 if(grupa_przylaczeniowa == "IV") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000189"
  301.                 else if(grupa_przylaczeniowa == "V") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000220"
  302.                 else if(grupa_przylaczeniowa == "VI") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000221"
  303.                 pozycjaZleceniaSprzedazy2_instance.kwota = umowa_instance.szacunkow_oplata_za_przylaczen
  304.                 def stringLiczba = "" + (sprawa.l___dlugosc_przylacza - 200)
  305.                 pozycjaZleceniaSprzedazy2_instance.ilosc_zleceni_w_jednos_sprzeda = new BigDecimal(stringLiczba)
  306.                 pozycjaZleceniaSprzedazy2_instance.grupa_cenowa_klienta = "01"
  307.                
  308.                 quickSaveModel(pozycjaZleceniaSprzedazy2_obj.id, pozycjaZleceniaSprzedazy2_instance)
  309.                 pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy2_instance
  310.             }
  311.            
  312.            
  313.             quickSaveModel(pozycjaZleceniaSprzedazy1_obj.id, pozycjaZleceniaSprzedazy1_instance)
  314.    
  315.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy1_instance
  316.             zleceniaSprzedazy_instance.putRelationsDto(relation_pozycjeZleceniaSprzedazy_obj, pozycjaZleceniaSprzedazy_list)
  317.            
  318.         case "Zlecenia wystawienia korekty do faktury za opłatę za przyłączenie":
  319.            
  320.              
  321.             mapa.znacznik = "K"
  322.            
  323.             mapa.rodzaj_dok_sprz = "ZRKF"
  324.            
  325.            
  326.             def pozycjaZleceniaSprzedazy1_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  327.             def pozycjaZleceniaSprzedazy1_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy1_obj.id)
  328.            
  329.             def relation_zleceniaSprzedazy_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_zleceniaSprzedazy_uuid)
  330.             def zleceniaSprzedazy_instancesList = sprawa.getRelationDtoInstances(relation_zleceniaSprzedazy_obj)
  331.             if(zleceniaSprzedazy_instancesList) zleceniaSprzedazy_instance = findTheLatestInstance(zleceniaSprzedazy_instancesList)
  332.             else{
  333.                 log.error("Nie znaleziono zadnych poprzednich instancji zlecen sprzedazy")
  334.                 break
  335.             }
  336.            
  337.             mapa.numer_dok_ref = zleceniaSprzedazy_instance
  338.            
  339.            
  340.             pozycjeZleceniaSprzedazy_instancesList = zleceniaSprzedazy_instance.getRelationDtoInstances(relation_pozycjeZleceniaSprzedazy_obj)
  341.             if(pozycjeZleceniaSprzedazy_instancesList){
  342.                pozycjeZleceniaSprzedazy1_OldInstance = pozycjeZleceniaSprzedazy_instancesList.find{ it.nr_pozycji == 1 }
  343.                pozycjeZleceniaSprzedazy2_OldInstance = pozycjeZleceniaSprzedazy_instancesList.find{ it.nr_pozycji == 2 }
  344.             }
  345.             else{
  346.                 log.error("Nie znaleziono zadnych poprzednich instancji pozycji zlecen sprzedazy")
  347.                 return
  348.             }
  349.            
  350.             def relation_faktura_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_faktura_uuid)
  351.             def faktura_instancesList = zleceniaSprzedazy_instance.getRelationDtoInstances(relation_faktura_obj)
  352.             if(faktura_instancesList) faktura_instance = faktura_instancesList.first()
  353.             else{
  354.                 log.error("Nie znaleziono zadnych instancji faktur do poprzedniego zlecenia")
  355.                 break
  356.             }
  357.             mapa.numer_dok_ref = faktura_instance.numer_faktury
  358.            
  359.             pozycjaZleceniaSprzedazy1_instance.nr_pozycji = "1"
  360.             pozycjaZleceniaSprzedazy1_instance.rodzaj_warunku = pozycjeZleceniaSprzedazy1_OldInstance
  361.             pozycjaZleceniaSprzedazy1_instance.nr_materialu = pozycjeZleceniaSprzedazy1_OldInstance
  362.             pozycjaZleceniaSprzedazy1_instance.kwota = pozycjeZleceniaSprzedazy1_OldInstance
  363.             pozycjaZleceniaSprzedazy1_instance.ilosc_zleceni_w_jednos_sprzeda = pozycjeZleceniaSprzedazy1_OldInstance
  364.             pozycjaZleceniaSprzedazy1_instance.grupa_cenowa_klienta = pozycjeZleceniaSprzedazy1_OldInstance
  365.            
  366.             def pozycjaZleceniaSprzedazy2_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  367.             def pozycjaZleceniaSprzedazy2_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy2_obj.id)
  368.            
  369.             pozycjaZleceniaSprzedazy2_instance.nr_pozycji = "2"
  370.             pozycjaZleceniaSprzedazy2_instance.rodzaj_warunku = pozycjeZleceniaSprzedazy2_OldInstance.rodzaj_warunku
  371.             pozycjaZleceniaSprzedazy2_instance.nr_materialu = pozycjeZleceniaSprzedazy2_OldInstance.nr_materialu
  372.             pozycjaZleceniaSprzedazy2_instance.kwota = pozycjeZleceniaSprzedazy2_OldInstance.kwota
  373.             pozycjaZleceniaSprzedazy2_instance.ilosc_zleceni_w_jednos_sprzeda = pozycjeZleceniaSprzedazy2_OldInstance.ilosc_zleceni_w_jednos_sprzeda
  374.             pozycjaZleceniaSprzedazy2_instance.grupa_cenowa_klienta = pozycjeZleceniaSprzedazy2_OldInstance.grupa_cenowa_klienta
  375.            
  376.             quickSaveModel(pozycjaZleceniaSprzedazy1_obj.id, pozycjaZleceniaSprzedazy1_instance)
  377.             quickSaveModel(pozycjaZleceniaSprzedazy2_obj.id, pozycjaZleceniaSprzedazy2_instance)
  378.            
  379.             def pozycjaZleceniaSprzedazy_list = []
  380.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy1_instance
  381.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy2_instance
  382.             zleceniaSprzedazy_instance.putRelationsDto(relation_pozycjeZleceniaSprzedazy_obj, pozycjaZleceniaSprzedazy_list)
  383.            
  384.         case "Zlecenie rozliczenia faktury zaliczkowej":
  385.            
  386.              
  387.             mapa.znacznik = "R"
  388.             mapa.numer_dok_ref = //tutaj z dokumentacji
  389.             mapa.rodzaj_dok_sprz = "ZJED"
  390.            
  391.             def pozycjaZleceniaSprzedazy1_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  392.             def pozycjaZleceniaSprzedazy1_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy1_obj.id)
  393.            
  394.             pozycjaZleceniaSprzedazy1_instance.nr_pozycji = "1"
  395.             pozycjaZleceniaSprzedazy1_instance.rodzaj_warunku = "ZPB0"
  396.             pozycjaZleceniaSprzedazy1_instance.nr_materialu = "80000189"
  397.            
  398.  
  399.             pozycjaZleceniaSprzedazy1_instance.ilosc_zleceni_w_jednos_sprzeda = new BigDecimal("1")
  400.             pozycjaZleceniaSprzedazy1_instance.grupa_cenowa_klienta  = "02"
  401.            
  402.             def pozycjaZleceniaSprzedazy2_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  403.             def pozycjaZleceniaSprzedazy2_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy2_obj.id)
  404.            
  405.             pozycjaZleceniaSprzedazy2_instance.nr_pozycji = "2"
  406.             pozycjaZleceniaSprzedazy2_instance.rodzaj_warunku = "ZNT1"
  407.            
  408.             if(sprawa.grupa_przylaczeniowa == "IV" && wniosek_instance.zwiekszenie_poboru_mocy) pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000260"
  409.             else if(sprawa.grupa_przylaczeniowa == "V" && wniosek_instance.zwiekszenie_poboru_mocy) pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000261"
  410.             else if(sprawa.grupa_przylaczeniowa == "II") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000171"
  411.             else if(sprawa.grupa_przylaczeniowa == "III") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000172"
  412.             else if(sprawa.grupa_przylaczeniowa == "IV") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000173"
  413.             else if(sprawa.grupa_przylaczeniowa == "V") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000174"
  414.             else if(sprawa.grupa_przylaczeniowa == "VI") pozycjaZleceniaSprzedazy2_instance.nr_materialu = "90000175"
  415.            
  416.             pozycjaZleceniaSprzedazy2_instance.kwota = umowa_instance.szacunkow_oplata_za_przylaczen
  417.             pozycjaZleceniaSprzedazy2_instance.ilosc_zleceni_w_jednos_sprzeda = new BigDecimal("1")
  418.             pozycjaZleceniaSprzedazy2_instance.grupa_cenowa_klienta = "01"
  419.            
  420.             pozycjaZleceniaSprzedazy1_instance = quickSaveModel(pozycjaZleceniaSprzedazy1_obj.id, pozycjaZleceniaSprzedazy1_instance)
  421.             pozycjaZleceniaSprzedazy2_instance = quickSaveModel(pozycjaZleceniaSprzedazy2_obj.id, pozycjaZleceniaSprzedazy2_instance)
  422.            
  423.             def pozycjaZleceniaSprzedazy_list = []
  424.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy1_instance
  425.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy2_instance
  426.             zleceniaSprzedazy_instance.putRelationsDto(relation_pozycjeZleceniaSprzedazy_obj, pozycjaZleceniaSprzedazy_list)
  427.            
  428.         case "Zlecenia wystawienia korekty do faktury rozliczającej zaliczkę":
  429.            
  430.              
  431.             mapa.znacznik = "K"
  432.  
  433.             mapa.rodzaj_dok_sprz = "ZRKF"
  434.            
  435.             def pozycjaZleceniaSprzedazy1_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  436.             def pozycjaZleceniaSprzedazy1_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy1_obj.id)
  437.            
  438.             def relation_zleceniaSprzedazy_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_zleceniaSprzedazy_uuid)
  439.             def zleceniaSprzedazy_instancesList = sprawa.getRelationDtoInstances(relation_zleceniaSprzedazy_obj)
  440.             if(zleceniaSprzedazy_instancesList) zleceniaSprzedazy_instance = findTheLatestInstance(zleceniaSprzedazy_instancesList)
  441.             else{
  442.                 log.error("Nie znaleziono zadnych poprzednich instancji zlecen sprzedazy")
  443.                 break
  444.             }
  445.            
  446.            
  447.             if(pozycjeZleceniaSprzedazy_instancesList){
  448.                pozycjeZleceniaSprzedazy1_OldInstance = pozycjeZleceniaSprzedazy_instancesList.find{ it.nr_pozycji == 1 }
  449.                pozycjeZleceniaSprzedazy2_OldInstance = pozycjeZleceniaSprzedazy_instancesList.find{ it.nr_pozycji == 2 }
  450.             }
  451.             else{
  452.                 log.error("Nie znaleziono zadnych poprzednich instancji pozycji zlecen sprzedazy")
  453.                 break
  454.             }
  455.            
  456.             def relation_faktura_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_faktura_uuid)
  457.             def faktura_instancesList = zleceniaSprzedazy_instance.getRelationDtoInstances(relation_faktura_obj)
  458.             if(faktura_instancesList) faktura_instance = faktura_instancesList.first()
  459.             else{
  460.                 log.error("Nie znaleziono zadnych instancji faktur do poprzedniego zlecenia")
  461.                 break
  462.             }
  463.             mapa.numer_dok_ref = faktura_instance.numer_faktury
  464.            
  465.             pozycjaZleceniaSprzedazy1_instance.nr_pozycji = "1"
  466.             pozycjaZleceniaSprzedazy1_instance.rodzaj_warunku = pozycjeZleceniaSprzedazy1_OldInstance
  467.             pozycjaZleceniaSprzedazy1_instance.nr_materialu = pozycjeZleceniaSprzedazy1_OldInstance
  468.             pozycjaZleceniaSprzedazy1_instance.kwota = pozycjeZleceniaSprzedazy1_OldInstance
  469.             pozycjaZleceniaSprzedazy1_instance.ilosc_zleceni_w_jednos_sprzeda = pozycjeZleceniaSprzedazy1_OldInstance
  470.             pozycjaZleceniaSprzedazy1_instance.grupa_cenowa_klienta = pozycjeZleceniaSprzedazy1_OldInstance
  471.            
  472.             pozycjaZleceniaSprzedazy2_obj = c3.getObjectService().findObjectByUuid(pozycjaZleceniaSprzedazy_uuid )
  473.             pozycjaZleceniaSprzedazy2_instance = c3.getInstanceServices().createNewInstance(pozycjaZleceniaSprzedazy_obj.id)
  474.            
  475.             pozycjaZleceniaSprzedazy2_instance.nr_pozycji = "2"
  476.             pozycjaZleceniaSprzedazy2_instance.rodzaj_warunku = pozycjeZleceniaSprzedazy2_OldInstance.rodzaj_warunku
  477.             pozycjaZleceniaSprzedazy2_instance.nr_materialu = pozycjeZleceniaSprzedazy2_OldInstance.nr_materialu
  478.             pozycjaZleceniaSprzedazy2_instance.kwota = pozycjeZleceniaSprzedazy2_OldInstance.kwota
  479.             pozycjaZleceniaSprzedazy2_instance.ilosc_zleceni_w_jednos_sprzeda = pozycjeZleceniaSprzedazy2_OldInstance.ilosc_zleceni_w_jednos_sprzeda
  480.             pozycjaZleceniaSprzedazy2_instance.grupa_cenowa_klienta = pozycjeZleceniaSprzedazy2_OldInstance.grupa_cenowa_klienta
  481.    
  482.             quickSaveModel(pozycjaZleceniaSprzedazy1_obj.id, pozycjaZleceniaSprzedazy1_instance)
  483.             quickSaveModel(pozycjaZleceniaSprzedazy2_obj.id, pozycjaZleceniaSprzedazy2_instance)
  484.            
  485.             def pozycjaZleceniaSprzedazy_list = []
  486.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy1_instance
  487.             pozycjaZleceniaSprzedazy_list << pozycjaZleceniaSprzedazy2_instance
  488.             zleceniaSprzedazy_instance.putRelationsDto(relation_pozycjeZleceniaSprzedazy_obj, pozycjaZleceniaSprzedazy_list)
  489.            
  490.            
  491.            
  492.         default:
  493.             log.error("nie rozpoznano rodzaju zlecenia")
  494.             break
  495.     }
  496.         def date = new Date()
  497.         rok = new SimpleDateFormat("yy")
  498.  
  499.         zleceniaSprzedazy_instance.kod_jednostki_pge = "" + date + sprawa.kod_jednostki_pge[0] + "R" + sprawa.numer_sprawy
  500.         zleceniaSprzedazy_instance.data_zamowienia = date
  501.  
  502.         zleceniaSprzedazy_instance.numer_zamowienia = sprawa.kod_jednostki_pge
  503.        
  504.         def relation_zleceniaSprzedazy_obj = C3Api.getInstance().getRelationService().findMetadataObjectRelationJoinTableNameByUUID(relation_zleceniaSprzedazy_uuid)
  505.         quickSaveModel(zleceniaSprzedazy_obj.id, zleceniaSprzedazy_instance)
  506.         sprawa_obj = c3.getObjectService().findObjectByUuid(sprawa_uuid)
  507.         def zleceniaSprzedazyRelation_list = []
  508.         zleceniaSprzedazyRelation_list << zleceniaSprzedazy_instance
  509.         sprawa.putRelationsDto(relation_zleceniaSprzedazy_obj, zleceniaSprzedazyRelation_list)
  510.         quickSaveModel(sprawa_obj.id, sprawa)
  511.        
  512.         return mapa
  513.            
  514. }
  515.  
  516. //Krzysztof Gurak - metoda wyświetla MOW'a otwierającego formularz dodawania nowej instancji na obiekcie Lista kontrahentów modelu PNO_techniczne,
  517. //dodaje do relacji Kontrahent SAP pomocniczy, kontrahentów z listy instancji podanej jako parametr metody.
  518. def showKontrahentListFromSap(kontrahentList){
  519.    
  520.     def api = C3Api.getInstance();
  521.     // po wykonaniu skryptu ma pojawić się formatka
  522.     mow.form = true;
  523.     mow.showRejectWindow = false;
  524.     modelName = "PNO_techniczne"; //model
  525.     objectName = "Lista kontrahentów"; //objekt
  526.     def objId = api.getObjectService().findMetadataObjectByModelAndObjectName(modelName, objectName).getId();
  527.     mow.metadataObjectFormId = objId;
  528.  
  529.     // mapka z parametrami, które mają się pojawić w polach na formatce
  530.     def formParams = [ : ];
  531.     formParams.hideCustomActionsButtons = false;
  532.     mow.formParams = formParams;
  533.     // nabijanie relacji z parametru
  534.     if(kontrahentList && kontrahentList.size()>0){
  535.         mow.formParams.putRelationsDto("PNOTE_li_kon_kon_sa_kl",kontrahentList);
  536.     }
  537.     // wywołanie mow
  538.     outputParam.put("mow",mow);
  539.  
  540. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement