Skip to content

Commit bd5edfa

Browse files
committed
Dodati razloge prestanka zaposlenja
Dodati proveru isteka ugovora do 60 dana
1 parent 8eb71f8 commit bd5edfa

File tree

9 files changed

+690
-172
lines changed

9 files changed

+690
-172
lines changed

JISP/Data/AppData.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ public static void ClearTempTables()
127127
Ds.Sistematizacija.Clear();
128128
Ds.IzvoriFinansiranja.Clear();
129129
Ds.SifSpratovi.Clear();
130+
Ds.SifRazloziPrestankaZap.Clear();
130131
}
131132

132133
/// <summary>Cuvanje vrednosti value pod imenom name u Settings tabeli.</summary>

JISP/Data/DataGetter.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ public static async Task GetObracuniZaradaAsync(Ds.ZaposleniRow zaposleni)
7272

7373
public static async Task GetZaposlenjaAsync(Ds.ZaposleniRow zaposleni)
7474
{
75+
if (AppData.Ds.SifRazloziPrestankaZap.Count == 0)
76+
await GetRazloziPrestankaZapAsync();
77+
7578
var body = $"{{'regUstUstanovaId':{WebApi.SV_SAVA_ID},'regZapZaposleniId':{zaposleni.IdZaposlenog}}}";
7679
var json = await WebApi.PostForJson(WebApi.ReqEnum.Zap_Zaposlenja, body);
7780
var IDsToRemove = zaposleni.GetZaposlenjaRows().Select(it => it.IdZaposlenja).ToList();
@@ -106,13 +109,34 @@ public static async Task GetZaposlenjaAsync(Ds.ZaposleniRow zaposleni)
106109
z.NoksNivoNaziv = obj.noksNivo.naziv;
107110
z.Aktivan = obj.statusUgovora != null && obj.statusUgovora == 19292;
108111
z.ImaDokument = obj.ugovorORaduDokumentNaziv != null && obj.ugovorORaduDokumentNaziv != "";
112+
if (obj.razlogPrestankaZaposlenjaId != null)
113+
{
114+
var r = AppData.Ds.SifRazloziPrestankaZap.FindByIdRazloga((int)obj.razlogPrestankaZaposlenjaId);
115+
if (r != null)
116+
z.RazlogPrestankaZaposlenja = r.NazivRazloga;
117+
}
109118
if (isNew)
110119
zaposlenja.AddZaposlenjaRow(z);
111120
}
112121
foreach (var id in IDsToRemove)
113122
zaposlenja.RemoveZaposlenjaRow(zaposlenja.FindByIdZaposlenja(id));
114123
}
115124

125+
/// <summary>Učitava podatke u tabelu SifRazloziPrestankaZap.</summary>
126+
public static async Task GetRazloziPrestankaZapAsync()
127+
{
128+
AppData.Ds.SifRazloziPrestankaZap.Clear();
129+
var json = await WebApi.GetJson(WebApi.ReqEnum.Zap_ZaposlenjaRazloziPrestanka);
130+
dynamic arr = Newtonsoft.Json.Linq.JArray.Parse(json);
131+
foreach (var item in arr)
132+
{
133+
var r = AppData.Ds.SifRazloziPrestankaZap.NewSifRazloziPrestankaZapRow();
134+
r.IdRazloga = item.id;
135+
r.NazivRazloga = item.naziv;
136+
AppData.Ds.SifRazloziPrestankaZap.AddSifRazloziPrestankaZapRow(r);
137+
}
138+
}
139+
116140
private class Koef
117141
{
118142
public Koef(string naziv, int procenat)

JISP/Data/Ds.Designer.cs

Lines changed: 443 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

JISP/Data/Ds.xsd

Lines changed: 29 additions & 16 deletions
Large diffs are not rendered by default.

JISP/Data/Ds.xss

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,29 @@
66
</autogenerated>-->
77
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="180" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
88
<Shapes>
9-
<Shape ID="DesignTable:Ucenici" ZOrder="28" X="1150" Y="335" Height="428" Width="165" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="424" />
10-
<Shape ID="DesignTable:Zaposleni" ZOrder="23" X="544" Y="156" Height="390" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="386" />
11-
<Shape ID="DesignTable:Zaposlenja" ZOrder="22" X="750" Y="484" Height="353" Width="163" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="349" />
12-
<Shape ID="DesignTable:Settings" ZOrder="27" X="1175" Y="181" Height="111" Width="161" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="107" />
13-
<Shape ID="DesignTable:ObracunZarada" ZOrder="21" X="742" Y="154" Height="257" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
14-
<Shape ID="DesignTable:Angazovanja" ZOrder="20" X="964" Y="679" Height="162" Width="162" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
15-
<Shape ID="DesignTable:Resenja" ZOrder="2" X="974" Y="407" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
16-
<Shape ID="DesignTable:Sistematizacija" ZOrder="19" X="465" Y="730" Height="309" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="305" />
17-
<Shape ID="DesignTable:SistematizacijaDetalji" ZOrder="18" X="827" Y="884" Height="125" Width="221" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
18-
<Shape ID="DesignTable:IzvoriFinansiranja" ZOrder="16" X="303" Y="191" Height="79" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" />
19-
<Shape ID="DesignTable:UcenikSkGod" ZOrder="15" X="1163" Y="806" Height="256" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
20-
<Shape ID="DesignTable:Lokacije" ZOrder="13" X="290" Y="313" Height="162" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
21-
<Shape ID="DesignTable:Objekti" ZOrder="1" X="278" Y="517" Height="257" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
22-
<Shape ID="DesignTable:Prostorije" ZOrder="10" X="224" Y="729" Height="313" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="309" />
23-
<Shape ID="DesignTable:SifSpratovi" ZOrder="8" X="85" Y="175" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
24-
<Shape ID="DesignTable:SifGrejanja" ZOrder="7" X="67" Y="275" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
25-
<Shape ID="DesignTable:SifHladjenja" ZOrder="6" X="78" Y="389" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
26-
<Shape ID="DesignTable:Racunari" ZOrder="5" X="37" Y="817" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
27-
<Shape ID="DesignTable:Poruke" ZOrder="3" X="56" Y="510" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
9+
<Shape ID="DesignTable:Ucenici" ZOrder="29" X="1150" Y="335" Height="428" Width="165" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="424" />
10+
<Shape ID="DesignTable:Zaposleni" ZOrder="24" X="544" Y="156" Height="390" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="386" />
11+
<Shape ID="DesignTable:Zaposlenja" ZOrder="23" X="750" Y="484" Height="353" Width="163" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="349" />
12+
<Shape ID="DesignTable:Settings" ZOrder="28" X="1175" Y="181" Height="111" Width="161" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="107" />
13+
<Shape ID="DesignTable:ObracunZarada" ZOrder="22" X="742" Y="154" Height="257" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
14+
<Shape ID="DesignTable:Angazovanja" ZOrder="21" X="964" Y="679" Height="162" Width="162" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
15+
<Shape ID="DesignTable:Resenja" ZOrder="3" X="974" Y="407" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
16+
<Shape ID="DesignTable:Sistematizacija" ZOrder="20" X="465" Y="730" Height="309" Width="226" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="305" />
17+
<Shape ID="DesignTable:SistematizacijaDetalji" ZOrder="19" X="827" Y="884" Height="125" Width="221" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
18+
<Shape ID="DesignTable:IzvoriFinansiranja" ZOrder="17" X="303" Y="191" Height="79" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" />
19+
<Shape ID="DesignTable:UcenikSkGod" ZOrder="16" X="1163" Y="806" Height="256" Width="182" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
20+
<Shape ID="DesignTable:Lokacije" ZOrder="14" X="290" Y="313" Height="162" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="158" />
21+
<Shape ID="DesignTable:Objekti" ZOrder="2" X="278" Y="517" Height="257" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
22+
<Shape ID="DesignTable:Prostorije" ZOrder="11" X="224" Y="729" Height="313" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="309" />
23+
<Shape ID="DesignTable:SifSpratovi" ZOrder="9" X="85" Y="175" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
24+
<Shape ID="DesignTable:SifGrejanja" ZOrder="8" X="67" Y="275" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
25+
<Shape ID="DesignTable:SifHladjenja" ZOrder="7" X="78" Y="389" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
26+
<Shape ID="DesignTable:Racunari" ZOrder="6" X="37" Y="817" Height="200" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="196" />
27+
<Shape ID="DesignTable:Poruke" ZOrder="4" X="49" Y="606" Height="105" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
28+
<Shape ID="DesignTable:SifRazloziPrestankaZap" ZOrder="1" X="44" Y="492" Height="67" Width="201" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
2829
</Shapes>
2930
<Connectors>
30-
<Connector ID="DesignRelation:FK_Zaposleni_Zaposlenja" ZOrder="25" LineWidth="11">
31+
<Connector ID="DesignRelation:FK_Zaposleni_Zaposlenja" ZOrder="26" LineWidth="11">
3132
<RoutePoints>
3233
<Point>
3334
<X>694</X>
@@ -39,7 +40,7 @@
3940
</Point>
4041
</RoutePoints>
4142
</Connector>
42-
<Connector ID="DesignRelation:Zaposleni_ObracunZarada" ZOrder="26" LineWidth="11">
43+
<Connector ID="DesignRelation:Zaposleni_ObracunZarada" ZOrder="27" LineWidth="11">
4344
<RoutePoints>
4445
<Point>
4546
<X>694</X>
@@ -51,7 +52,7 @@
5152
</Point>
5253
</RoutePoints>
5354
</Connector>
54-
<Connector ID="DesignRelation:Zaposlenja_Angazovanja" ZOrder="24" LineWidth="11">
55+
<Connector ID="DesignRelation:Zaposlenja_Angazovanja" ZOrder="25" LineWidth="11">
5556
<RoutePoints>
5657
<Point>
5758
<X>913</X>
@@ -63,7 +64,7 @@
6364
</Point>
6465
</RoutePoints>
6566
</Connector>
66-
<Connector ID="DesignRelation:Zaposlenja_Resenja" ZOrder="11" LineWidth="11">
67+
<Connector ID="DesignRelation:Zaposlenja_Resenja" ZOrder="12" LineWidth="11">
6768
<RoutePoints>
6869
<Point>
6970
<X>913</X>
@@ -75,7 +76,7 @@
7576
</Point>
7677
</RoutePoints>
7778
</Connector>
78-
<Connector ID="DesignRelation:FK_Sistematizacija_SistematizacijaDetalji" ZOrder="17" LineWidth="11">
79+
<Connector ID="DesignRelation:FK_Sistematizacija_SistematizacijaDetalji" ZOrder="18" LineWidth="11">
7980
<RoutePoints>
8081
<Point>
8182
<X>691</X>
@@ -87,7 +88,7 @@
8788
</Point>
8889
</RoutePoints>
8990
</Connector>
90-
<Connector ID="DesignRelation:Ucenici_UcenikSkGod" ZOrder="14" LineWidth="11">
91+
<Connector ID="DesignRelation:Ucenici_UcenikSkGod" ZOrder="15" LineWidth="11">
9192
<RoutePoints>
9293
<Point>
9394
<X>1237</X>
@@ -99,7 +100,7 @@
99100
</Point>
100101
</RoutePoints>
101102
</Connector>
102-
<Connector ID="DesignRelation:Lokacije_Objekti" ZOrder="12" LineWidth="11">
103+
<Connector ID="DesignRelation:Lokacije_Objekti" ZOrder="13" LineWidth="11">
103104
<RoutePoints>
104105
<Point>
105106
<X>349</X>
@@ -111,7 +112,7 @@
111112
</Point>
112113
</RoutePoints>
113114
</Connector>
114-
<Connector ID="DesignRelation:Objekti_Prostorije" ZOrder="9" LineWidth="11">
115+
<Connector ID="DesignRelation:Objekti_Prostorije" ZOrder="10" LineWidth="11">
115116
<RoutePoints>
116117
<Point>
117118
<X>278</X>
@@ -127,7 +128,7 @@
127128
</Point>
128129
</RoutePoints>
129130
</Connector>
130-
<Connector ID="DesignRelation:Prostorije_Racunari" ZOrder="4" LineWidth="11">
131+
<Connector ID="DesignRelation:Prostorije_Racunari" ZOrder="5" LineWidth="11">
131132
<RoutePoints>
132133
<Point>
133134
<X>224</X>

JISP/Data/WebApi.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ public enum ReqEnum
171171
/// <summary>Telefon, Mejl, Adresa</summary>
172172
Zap_Dodatno,
173173
Zap_Zaposlenja,
174+
Zap_ZaposlenjaRazloziPrestanka,
174175
Zap_ObracunZarada,
175176
Zap_ObracunZaradaKreiraj,
176177
Zap_ObracunZaradaObrisi,
@@ -223,6 +224,8 @@ public static string UrlForReq(ReqEnum reqEnum, string param = null)
223224
return urlBase + $"Zaposleni/VratiPodatkeZaposlenogZaId/{param}/";
224225
case ReqEnum.Zap_Zaposlenja:
225226
return urlBase + "zaposleni/VratiZaposlenja";
227+
case ReqEnum.Zap_ZaposlenjaRazloziPrestanka:
228+
return urlBase + "sifarnik/naziv/RazloziPrestankaZaposlenja";
226229
case ReqEnum.Zap_ObracunZarada:
227230
return urlBase + $"zaposleni/VratiObracuneZradeZaZaposlenog/{param}/" + SV_SAVA_ID;
228231
case ReqEnum.Zap_ObracunZaradaKreiraj:

JISP/Forms/FrmZaposleni.cs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System;
66
using System.Collections.Generic;
77
using System.Linq;
8+
using System.Text;
89
using System.Windows.Forms;
910

1011
namespace JISP.Forms
@@ -49,6 +50,7 @@ private void PodesiComboBoxove()
4950
CmbStatusBolovanja,
5051
CmbStatus40cNedelja,
5152
CmbStatusDokUgovor,
53+
CmbStatusDo60DanaIsteklo,
5254
});
5355
cmbIzracunajStatuse.AdjustWidth();
5456
}
@@ -60,6 +62,7 @@ private void PodesiComboBoxove()
6062
private const string CmbStatusBolovanja = "Aktivna bolovanja";
6163
private const string CmbStatus40cNedelja = "Bez 40-čas nedelje";
6264
private const string CmbStatusDokUgovor = "Bez dokumenta-ugovora";
65+
private const string CmbStatusDo60DanaIsteklo = "Istekao ugovor do 60 dana";
6366

6467
private readonly Ds Ds;
6568

@@ -495,9 +498,28 @@ private void BtnIzracunajStatuse_Click(object sender, EventArgs e)
495498
}
496499
}
497500

498-
bsZaposleni.Sort = "StatusAktivnosti2 DESC, " + dgvZaposleni.StandardSort;
501+
if (selItem == CmbStatusDo60DanaIsteklo)
502+
{
503+
//TODO ovo da se automatski pokrene svake nedelje (ili jednom dnevno ili sl) uz mbox obavestenje
504+
//TODO mozda bi se mogli izuzeti zaposleni na odsustvu (porodiljsko npr.)
505+
var zaps = new HashSet<string>();
506+
foreach (var z in AppData.Ds.Zaposleni.Where(it => it.Aktivan))
507+
{
508+
var nja = z.GetZaposlenjaRows().Where(it => it.Aktivan
509+
&& !it.IsVrstaAngazovanjaNull() && it.VrstaAngazovanja.Contains("до 60 дана")
510+
&& !it.IsDatumZaposlenOdNull() && (DateTime.Now - it.DatumZaposlenOd).TotalDays >= 60);
511+
z.StatusAktivnosti2 = nja.Any() ? "*" : "";
512+
}
513+
}
514+
515+
// Sva zaposlenja u skoli
516+
//var zaps = new HashSet<string>();
517+
//foreach (var z in AppData.Ds.Zaposleni.Where(it => it.Aktivan))
518+
// foreach (var nja in z.GetZaposlenjaRows().Where(it => it.Aktivan))
519+
// zaps.Add(nja.RadnoMestoNaziv);
520+
//Clipboard.SetText(string.Join(Environment.NewLine, zaps));
499521

500-
//B Utils.ShowMbox("Gotovo", selItem);
522+
bsZaposleni.Sort = "StatusAktivnosti2 DESC, " + dgvZaposleni.StandardSort;
501523
}
502524
catch (Exception ex) { Utils.ShowMbox(ex, btnIzracunajStatuse.Text + " - " + zapProblem); }
503525
}

0 commit comments

Comments
 (0)