Kvůli přechodu na IntelliJ IDEA upravena konfigurace Maven.
Fakturace rozděleny na fakturace materiálu a služeb. closes #249Verze_3.0
							parent
							
								
									e24684bbd0
								
							
						
					
					
						commit
						d20a72b336
					
				@ -0,0 +1,30 @@
 | 
			
		||||
package info.bukova.isspst.ui.main.invoicing;
 | 
			
		||||
 | 
			
		||||
import info.bukova.isspst.data.Invoicing;
 | 
			
		||||
import org.springframework.security.access.AccessDeniedException;
 | 
			
		||||
import org.zkoss.bind.annotation.Init;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class InvoicingMaterialArchiveList extends InvoicingList {
 | 
			
		||||
 | 
			
		||||
    @Init(superclass = true)
 | 
			
		||||
    public void initInvoicingMaterialArchiveList()
 | 
			
		||||
    {
 | 
			
		||||
        formZul = "/main/invoicing/material/invHeadForm.zul";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected List<Invoicing> getListFromService() {
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            return invoicingService.getMaterialArchiveList();
 | 
			
		||||
        }
 | 
			
		||||
        catch (AccessDeniedException e)
 | 
			
		||||
        {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
            return new ArrayList<Invoicing>();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,30 @@
 | 
			
		||||
package info.bukova.isspst.ui.main.invoicing;
 | 
			
		||||
 | 
			
		||||
import info.bukova.isspst.data.Invoicing;
 | 
			
		||||
import org.springframework.security.access.AccessDeniedException;
 | 
			
		||||
import org.zkoss.bind.annotation.Init;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class InvoicingMaterialPendingList extends InvoicingList {
 | 
			
		||||
 | 
			
		||||
    @Init(superclass = true)
 | 
			
		||||
    public void initInvoicingMaterialPendingList()
 | 
			
		||||
    {
 | 
			
		||||
        formZul = "/main/invoicing/material/invHeadForm.zul";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected List<Invoicing> getListFromService() {
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            return invoicingService.getMaterialPendingList();
 | 
			
		||||
        }
 | 
			
		||||
        catch (AccessDeniedException e)
 | 
			
		||||
        {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
            return new ArrayList<Invoicing>();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,32 +0,0 @@
 | 
			
		||||
package info.bukova.isspst.ui.main.invoicing;
 | 
			
		||||
 | 
			
		||||
import info.bukova.isspst.data.Invoicing;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import org.springframework.security.access.AccessDeniedException;
 | 
			
		||||
import org.zkoss.bind.annotation.Init;
 | 
			
		||||
 | 
			
		||||
public class InvoicingPendingList extends InvoicingList
 | 
			
		||||
{
 | 
			
		||||
	@Init(superclass = true)
 | 
			
		||||
	public void initInvoicingPendingList()
 | 
			
		||||
	{
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	protected List<Invoicing> getListFromService()
 | 
			
		||||
	{
 | 
			
		||||
		try
 | 
			
		||||
		{
 | 
			
		||||
			return invoicingService.getPendingList();
 | 
			
		||||
		}
 | 
			
		||||
		catch (AccessDeniedException e)
 | 
			
		||||
		{
 | 
			
		||||
			// BindUtils.postGlobalCommand(null, null, "disableCentre", null);
 | 
			
		||||
			// e.printStackTrace();
 | 
			
		||||
			return new ArrayList<Invoicing>();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,30 @@
 | 
			
		||||
package info.bukova.isspst.ui.main.invoicing;
 | 
			
		||||
 | 
			
		||||
import info.bukova.isspst.data.Invoicing;
 | 
			
		||||
import org.springframework.security.access.AccessDeniedException;
 | 
			
		||||
import org.zkoss.bind.annotation.Init;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class InvoicingServicesArchiveList extends InvoicingList {
 | 
			
		||||
 | 
			
		||||
    @Init(superclass = true)
 | 
			
		||||
    public void initInvoicingServicesArchiveList()
 | 
			
		||||
    {
 | 
			
		||||
        formZul = "/main/invoicing/services/invHeadForm.zul";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected List<Invoicing> getListFromService() {
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            return invoicingService.getServicesArchiveList();
 | 
			
		||||
        }
 | 
			
		||||
        catch (AccessDeniedException e)
 | 
			
		||||
        {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
            return new ArrayList<Invoicing>();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,30 @@
 | 
			
		||||
package info.bukova.isspst.ui.main.invoicing;
 | 
			
		||||
 | 
			
		||||
import info.bukova.isspst.data.Invoicing;
 | 
			
		||||
import org.springframework.security.access.AccessDeniedException;
 | 
			
		||||
import org.zkoss.bind.annotation.Init;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class InvoicingServicesPendingList extends InvoicingList {
 | 
			
		||||
 | 
			
		||||
    @Init(superclass = true)
 | 
			
		||||
    public void initInvoicingServicesPendingList()
 | 
			
		||||
    {
 | 
			
		||||
        formZul = "/main/invoicing/services/invHeadForm.zul";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected List<Invoicing> getListFromService() {
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            return invoicingService.getServicesPendingList();
 | 
			
		||||
        }
 | 
			
		||||
        catch (AccessDeniedException e)
 | 
			
		||||
        {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
            return new ArrayList<Invoicing>();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,3 +1,3 @@
 | 
			
		||||
storage.root=/home/pepa/tmp/isspst
 | 
			
		||||
storage.fulltextIndex=/home/pepa/tmp/isspst
 | 
			
		||||
storage.signedDocuments=/home/pepa/tmp/isspst/signedDoc
 | 
			
		||||
storage.root=~/tmp/isspst
 | 
			
		||||
storage.fulltextIndex=~/tmp/isspst
 | 
			
		||||
storage.signedDocuments=~/tmp/isspst/signedDoc
 | 
			
		||||
@ -1,215 +0,0 @@
 | 
			
		||||
<?page contentType="text/html;charset=UTF-8"?>
 | 
			
		||||
<zk>
 | 
			
		||||
	<window
 | 
			
		||||
		id="editWin"
 | 
			
		||||
		closable="true"
 | 
			
		||||
		width="95%"
 | 
			
		||||
		height="95%"
 | 
			
		||||
		border="normal"
 | 
			
		||||
		position="center"
 | 
			
		||||
		apply="org.zkoss.bind.BindComposer"
 | 
			
		||||
		viewModel="@id('vm') @init('info.bukova.isspst.ui.main.invoicing.InvoicingForm')">
 | 
			
		||||
		<caption
 | 
			
		||||
			src="/img/invoicing-032.png"
 | 
			
		||||
			zclass="form-caption"
 | 
			
		||||
			label="${labels.InvoicingFormTitle}" />
 | 
			
		||||
		<vlayout vflex="1">
 | 
			
		||||
			<hbox
 | 
			
		||||
				vflex="min"
 | 
			
		||||
				hflex="1">
 | 
			
		||||
				<div hflex="1">
 | 
			
		||||
					<button
 | 
			
		||||
						image="/img/item-add.png"
 | 
			
		||||
						label="${labels.InvoicingAdd}"
 | 
			
		||||
						sclass="nicebutton"
 | 
			
		||||
						onClick="@command('addItem')" />
 | 
			
		||||
				</div>
 | 
			
		||||
				<div hflex="1"></div>
 | 
			
		||||
				<div
 | 
			
		||||
					hflex="1"
 | 
			
		||||
					align="right">
 | 
			
		||||
					<checkbox
 | 
			
		||||
						label="${labels.Completed}"
 | 
			
		||||
						checked="@bind(vm.dataBean.completed)" />
 | 
			
		||||
				</div>
 | 
			
		||||
			</hbox>
 | 
			
		||||
			<hbox vflex="1">
 | 
			
		||||
				<vbox vflex="1">
 | 
			
		||||
					<listbox
 | 
			
		||||
						model="@load(vm.dataBean.items)"
 | 
			
		||||
						vflex="1"
 | 
			
		||||
						selectedItem="@bind(vm.selectedItem)"
 | 
			
		||||
						selectedIndex="@bind(vm.selectedIndex)">
 | 
			
		||||
						<listhead>
 | 
			
		||||
							<listheader
 | 
			
		||||
								label="${labels.InvoicingDate}"
 | 
			
		||||
								width="150px" />
 | 
			
		||||
							<listheader label="${labels.InvoicingInvoiceNumber}" />
 | 
			
		||||
							<listheader
 | 
			
		||||
								label="${labels.InvoicingAmount}"
 | 
			
		||||
								align="right"
 | 
			
		||||
								width="90px" />
 | 
			
		||||
							<listheader />
 | 
			
		||||
						</listhead>
 | 
			
		||||
						<template name="model">
 | 
			
		||||
							<listitem>
 | 
			
		||||
								<listcell>
 | 
			
		||||
									<datebox
 | 
			
		||||
										value="@bind(each.invoiceDate)"
 | 
			
		||||
										format="${labels.DateFormat}"
 | 
			
		||||
										inplace="true"
 | 
			
		||||
										onFocus="@command('onFocus', item=each)" />
 | 
			
		||||
								</listcell>
 | 
			
		||||
								<listcell>
 | 
			
		||||
									<textbox
 | 
			
		||||
										value="@bind(each.invoiceNumber)"
 | 
			
		||||
										sclass="grid-textbox-max"
 | 
			
		||||
										inplace="true"
 | 
			
		||||
										maxlength="@load(vm.lengthText)"
 | 
			
		||||
										onFocus="@command('onFocus', item=each)" />
 | 
			
		||||
								</listcell>
 | 
			
		||||
								<listcell>
 | 
			
		||||
									<textbox
 | 
			
		||||
										value="@bind(each.amount) @converter(vm.standardBigDecimalConverter)"
 | 
			
		||||
										sclass="grid-textbox-max"
 | 
			
		||||
										inplace="true"
 | 
			
		||||
										onFocus="@command('onFocus', item=each)"
 | 
			
		||||
										maxlength="@load(vm.lengthText)"
 | 
			
		||||
										onChange="@command('calculate')" />
 | 
			
		||||
								</listcell>
 | 
			
		||||
								<listcell>
 | 
			
		||||
									<button
 | 
			
		||||
										label="${labels.RemoveItem}"
 | 
			
		||||
										sclass="nicebutton"
 | 
			
		||||
										onClick="@command('removeItem', item=each)" />
 | 
			
		||||
								</listcell>
 | 
			
		||||
							</listitem>
 | 
			
		||||
						</template>
 | 
			
		||||
					</listbox>
 | 
			
		||||
				</vbox>
 | 
			
		||||
				<grid hflex="min">
 | 
			
		||||
					<columns>
 | 
			
		||||
						<column
 | 
			
		||||
							align="right"
 | 
			
		||||
							hflex="min" />
 | 
			
		||||
						<column />
 | 
			
		||||
					</columns>
 | 
			
		||||
					<rows>
 | 
			
		||||
						<row>
 | 
			
		||||
							<cell sclass="row-title">${labels.InvoicingRequirementNumber} :</cell>
 | 
			
		||||
							<cell>
 | 
			
		||||
								<textbox
 | 
			
		||||
									width="200px"
 | 
			
		||||
									value="@bind(vm.dataBean.requirement.numser)"
 | 
			
		||||
									style="font-weight: bold;"
 | 
			
		||||
									maxlength="@load(vm.lengthText)"
 | 
			
		||||
									readonly="true" />
 | 
			
		||||
							</cell>
 | 
			
		||||
						</row>
 | 
			
		||||
						<row>
 | 
			
		||||
							<cell sclass="row-title">${labels.InvoicingDescription} :</cell>
 | 
			
		||||
							<cell>
 | 
			
		||||
								<textbox
 | 
			
		||||
									width="350px"
 | 
			
		||||
									rows="5"
 | 
			
		||||
									value="@bind(vm.dataBean.requirement.description)"
 | 
			
		||||
									maxlength="@load(vm.lengthDescription)"
 | 
			
		||||
									readonly="true" />
 | 
			
		||||
							</cell>
 | 
			
		||||
						</row>
 | 
			
		||||
						<row>
 | 
			
		||||
							<cell sclass="row-title">${labels.InvoicingRequirementPrice} :</cell>
 | 
			
		||||
							<cell>
 | 
			
		||||
								<textbox
 | 
			
		||||
									width="150px"
 | 
			
		||||
									value="@bind(vm.dataBean.requirement.sumTotal) @converter(vm.standardBigDecimalConverter)"
 | 
			
		||||
									maxlength="@load(vm.lengthText)"
 | 
			
		||||
									readonly="true" />
 | 
			
		||||
							</cell>
 | 
			
		||||
						</row>
 | 
			
		||||
						<row>
 | 
			
		||||
							<cell sclass="row-title">${labels.InvoicingInvoicedPrice} :</cell>
 | 
			
		||||
							<cell>
 | 
			
		||||
								<textbox
 | 
			
		||||
									width="150px"
 | 
			
		||||
									value="@bind(vm.dataBean.totalInvoiced) @converter(vm.standardBigDecimalConverter)"
 | 
			
		||||
									readonly="true"
 | 
			
		||||
									maxlength="@load(vm.lengthText)"
 | 
			
		||||
									style="@load(vm.dataBean.totalInvoiced gt vm.dataBean.requirement.sumTotal ? ' color: red;' : '' )" />
 | 
			
		||||
							</cell>
 | 
			
		||||
						</row>
 | 
			
		||||
					</rows>
 | 
			
		||||
				</grid>
 | 
			
		||||
			</hbox>
 | 
			
		||||
			<listbox
 | 
			
		||||
				vflex="1"
 | 
			
		||||
				model="@load(vm.dataBean.requirement.items)">
 | 
			
		||||
				<listhead>
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="10"
 | 
			
		||||
						label="${labels.RequirementItemCode}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="15"
 | 
			
		||||
						label="${labels.RequirementItemName}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="30"
 | 
			
		||||
						label="${labels.RequirementItemText}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="10"
 | 
			
		||||
						align="right"
 | 
			
		||||
						label="${labels.RequirementItemQuantity}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="10"
 | 
			
		||||
						label="${labels.RequirementItemMUnit}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="10"
 | 
			
		||||
						align="right"
 | 
			
		||||
						label="${labels.RequirementItemUnitPrice}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="10"
 | 
			
		||||
						align="right"
 | 
			
		||||
						label="${labels.RequirementItemTotal}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="10"
 | 
			
		||||
						align="right"
 | 
			
		||||
						label="${labels.InvoicingInvoiced}" />
 | 
			
		||||
					<listheader
 | 
			
		||||
						hflex="15"
 | 
			
		||||
						label="${labels.RequirementItemDescription}" />
 | 
			
		||||
				</listhead>
 | 
			
		||||
				<template name="model">
 | 
			
		||||
					<listitem>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@load(each.code)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@load(each.name)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@load(each.textItem)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@bind(each.quantity) @converter(vm.standardBigDecimalConverter)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@bind(each.munit.name)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@bind(each.unitPrice) @converter(vm.standardBigDecimalConverter)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@bind(each.total) @converter(vm.standardBigDecimalConverter)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<checkbox checked="@bind(each.paid)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
						<listcell>
 | 
			
		||||
							<label value="@bind(each.description)" />
 | 
			
		||||
						</listcell>
 | 
			
		||||
					</listitem>
 | 
			
		||||
				</template>
 | 
			
		||||
			</listbox>
 | 
			
		||||
			<include src="/app/formButtons.zul" />
 | 
			
		||||
		</vlayout>
 | 
			
		||||
	</window>
 | 
			
		||||
</zk>
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
<?page title="${labels.Invoicing}" contentType="text/html;charset=UTF-8"?>
 | 
			
		||||
<?page title="${labels.InvoicingMaterial}" contentType="text/html;charset=UTF-8"?>
 | 
			
		||||
<zk>
 | 
			
		||||
 | 
			
		||||
<zscript>
 | 
			
		||||
@ -0,0 +1,20 @@
 | 
			
		||||
<?page title="${labels.InvoicingMaterial}" contentType="text/html;charset=UTF-8"?>
 | 
			
		||||
<zk>
 | 
			
		||||
    <window
 | 
			
		||||
            id="editWin"
 | 
			
		||||
            width="95%"
 | 
			
		||||
            height="95%"
 | 
			
		||||
            closable="true"
 | 
			
		||||
            border="normal"
 | 
			
		||||
            position="center"
 | 
			
		||||
            apply="org.zkoss.bind.BindComposer"
 | 
			
		||||
            viewModel="@id('vm') @init('info.bukova.isspst.ui.main.invoicing.InvoicingForm')">
 | 
			
		||||
        <caption
 | 
			
		||||
                image="/img/invoicing-032.png"
 | 
			
		||||
                zclass="form-caption"
 | 
			
		||||
                label="${labels.InvoicingMaterial}" />
 | 
			
		||||
        <include
 | 
			
		||||
                vflex="1"
 | 
			
		||||
                src="/main/invoicing/shared/invoicingForm.zul" />
 | 
			
		||||
    </window>
 | 
			
		||||
</zk>
 | 
			
		||||
@ -0,0 +1,10 @@
 | 
			
		||||
<?page title="${labels.InvoicingServices}" contentType="text/html;charset=UTF-8"?>
 | 
			
		||||
<zk>
 | 
			
		||||
 | 
			
		||||
<zscript>
 | 
			
		||||
	String gridZul = "setup.zul";
 | 
			
		||||
</zscript>
 | 
			
		||||
 | 
			
		||||
<include src="/app/template.zhtml"/>
 | 
			
		||||
 | 
			
		||||
</zk>
 | 
			
		||||
@ -0,0 +1,20 @@
 | 
			
		||||
<?page title="${labels.InvoicingServices}" contentType="text/html;charset=UTF-8"?>
 | 
			
		||||
<zk>
 | 
			
		||||
    <window
 | 
			
		||||
            id="editWin"
 | 
			
		||||
            width="95%"
 | 
			
		||||
            height="95%"
 | 
			
		||||
            closable="true"
 | 
			
		||||
            border="normal"
 | 
			
		||||
            position="center"
 | 
			
		||||
            apply="org.zkoss.bind.BindComposer"
 | 
			
		||||
            viewModel="@id('vm') @init('info.bukova.isspst.ui.main.invoicing.InvoicingForm')">
 | 
			
		||||
        <caption
 | 
			
		||||
                image="/img/invoicing-032.png"
 | 
			
		||||
                zclass="form-caption"
 | 
			
		||||
                label="${labels.InvoicingServices}" />
 | 
			
		||||
        <include
 | 
			
		||||
                vflex="1"
 | 
			
		||||
                src="/main/invoicing/shared/invoicingForm.zul" />
 | 
			
		||||
    </window>
 | 
			
		||||
</zk>
 | 
			
		||||
@ -0,0 +1,13 @@
 | 
			
		||||
<zk>
 | 
			
		||||
	<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
 | 
			
		||||
	<window
 | 
			
		||||
		vflex="1"
 | 
			
		||||
		border="none"
 | 
			
		||||
		apply="org.zkoss.bind.BindComposer"
 | 
			
		||||
		viewModel="@id('vm') @init('info.bukova.isspst.ui.main.invoicing.InvoicingServicesArchiveList')">
 | 
			
		||||
		<include src="/app/toolbar.zul" />
 | 
			
		||||
		<include
 | 
			
		||||
			vflex="1"
 | 
			
		||||
			src="/main/invoicing/shared/invoicingGrid.zul" />
 | 
			
		||||
	</window>
 | 
			
		||||
</zk>
 | 
			
		||||
@ -0,0 +1,13 @@
 | 
			
		||||
<zk>
 | 
			
		||||
	<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
 | 
			
		||||
	<window
 | 
			
		||||
		vflex="1"
 | 
			
		||||
		border="none"
 | 
			
		||||
		apply="org.zkoss.bind.BindComposer"
 | 
			
		||||
		viewModel="@id('vm') @init('info.bukova.isspst.ui.main.invoicing.InvoicingServicesPendingList')">
 | 
			
		||||
		<include src="/app/toolbar.zul" />
 | 
			
		||||
		<include
 | 
			
		||||
			vflex="1"
 | 
			
		||||
			src="/main/invoicing/shared/invoicingGrid.zul" />
 | 
			
		||||
	</window>
 | 
			
		||||
</zk>
 | 
			
		||||
@ -0,0 +1,19 @@
 | 
			
		||||
<?page contentType="text/html;charset=UTF-8"?>
 | 
			
		||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
 | 
			
		||||
<zk>
 | 
			
		||||
	<zscript>
 | 
			
		||||
		String gridPending = "/main/invoicing/services/invHeadListPending.zul";
 | 
			
		||||
		String gridArchive = "/main/invoicing/services/invHeadListArchive.zul";
 | 
			
		||||
	</zscript>
 | 
			
		||||
	<window
 | 
			
		||||
		vflex="1"
 | 
			
		||||
		border="normal">
 | 
			
		||||
		<caption
 | 
			
		||||
			src="/img/invoicing-032.png"
 | 
			
		||||
			zclass="form-caption"
 | 
			
		||||
			label="${labels.InvoicingServices}" />
 | 
			
		||||
		<include
 | 
			
		||||
			vflex="1"
 | 
			
		||||
			src="/main/invoicing/shared/tabPanels.zul" />
 | 
			
		||||
	</window>
 | 
			
		||||
</zk>
 | 
			
		||||
@ -0,0 +1,198 @@
 | 
			
		||||
<vlayout vflex="1">
 | 
			
		||||
    <hbox
 | 
			
		||||
            vflex="min"
 | 
			
		||||
            hflex="1">
 | 
			
		||||
        <div hflex="1">
 | 
			
		||||
            <button
 | 
			
		||||
                    image="/img/item-add.png"
 | 
			
		||||
                    label="${labels.InvoicingAdd}"
 | 
			
		||||
                    sclass="nicebutton"
 | 
			
		||||
                    onClick="@command('addItem')"/>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div hflex="1"></div>
 | 
			
		||||
        <div
 | 
			
		||||
                hflex="1"
 | 
			
		||||
                align="right">
 | 
			
		||||
            <checkbox
 | 
			
		||||
                    label="${labels.Completed}"
 | 
			
		||||
                    checked="@bind(vm.dataBean.completed)"/>
 | 
			
		||||
        </div>
 | 
			
		||||
    </hbox>
 | 
			
		||||
    <hbox vflex="1">
 | 
			
		||||
        <vbox vflex="1">
 | 
			
		||||
            <listbox
 | 
			
		||||
                    model="@load(vm.dataBean.items)"
 | 
			
		||||
                    vflex="1"
 | 
			
		||||
                    selectedItem="@bind(vm.selectedItem)"
 | 
			
		||||
                    selectedIndex="@bind(vm.selectedIndex)">
 | 
			
		||||
                <listhead>
 | 
			
		||||
                    <listheader
 | 
			
		||||
                            label="${labels.InvoicingDate}"
 | 
			
		||||
                            width="150px"/>
 | 
			
		||||
                    <listheader label="${labels.InvoicingInvoiceNumber}"/>
 | 
			
		||||
                    <listheader
 | 
			
		||||
                            label="${labels.InvoicingAmount}"
 | 
			
		||||
                            align="right"
 | 
			
		||||
                            width="90px"/>
 | 
			
		||||
                    <listheader/>
 | 
			
		||||
                </listhead>
 | 
			
		||||
                <template name="model">
 | 
			
		||||
                    <listitem>
 | 
			
		||||
                        <listcell>
 | 
			
		||||
                            <datebox
 | 
			
		||||
                                    value="@bind(each.invoiceDate)"
 | 
			
		||||
                                    format="${labels.DateFormat}"
 | 
			
		||||
                                    inplace="true"
 | 
			
		||||
                                    onFocus="@command('onFocus', item=each)"/>
 | 
			
		||||
                        </listcell>
 | 
			
		||||
                        <listcell>
 | 
			
		||||
                            <textbox
 | 
			
		||||
                                    value="@bind(each.invoiceNumber)"
 | 
			
		||||
                                    sclass="grid-textbox-max"
 | 
			
		||||
                                    inplace="true"
 | 
			
		||||
                                    maxlength="@load(vm.lengthText)"
 | 
			
		||||
                                    onFocus="@command('onFocus', item=each)"/>
 | 
			
		||||
                        </listcell>
 | 
			
		||||
                        <listcell>
 | 
			
		||||
                            <textbox
 | 
			
		||||
                                    value="@bind(each.amount) @converter(vm.standardBigDecimalConverter)"
 | 
			
		||||
                                    sclass="grid-textbox-max"
 | 
			
		||||
                                    inplace="true"
 | 
			
		||||
                                    onFocus="@command('onFocus', item=each)"
 | 
			
		||||
                                    maxlength="@load(vm.lengthText)"
 | 
			
		||||
                                    onChange="@command('calculate')"/>
 | 
			
		||||
                        </listcell>
 | 
			
		||||
                        <listcell>
 | 
			
		||||
                            <button
 | 
			
		||||
                                    label="${labels.RemoveItem}"
 | 
			
		||||
                                    sclass="nicebutton"
 | 
			
		||||
                                    onClick="@command('removeItem', item=each)"/>
 | 
			
		||||
                        </listcell>
 | 
			
		||||
                    </listitem>
 | 
			
		||||
                </template>
 | 
			
		||||
            </listbox>
 | 
			
		||||
        </vbox>
 | 
			
		||||
        <grid hflex="min">
 | 
			
		||||
            <columns>
 | 
			
		||||
                <column
 | 
			
		||||
                        align="right"
 | 
			
		||||
                        hflex="min"/>
 | 
			
		||||
                <column/>
 | 
			
		||||
            </columns>
 | 
			
		||||
            <rows>
 | 
			
		||||
                <row>
 | 
			
		||||
                    <cell sclass="row-title">${labels.InvoicingRequirementNumber} :</cell>
 | 
			
		||||
                    <cell>
 | 
			
		||||
                        <textbox
 | 
			
		||||
                                width="200px"
 | 
			
		||||
                                value="@bind(vm.dataBean.requirement.numser)"
 | 
			
		||||
                                style="font-weight: bold;"
 | 
			
		||||
                                maxlength="@load(vm.lengthText)"
 | 
			
		||||
                                readonly="true"/>
 | 
			
		||||
                    </cell>
 | 
			
		||||
                </row>
 | 
			
		||||
                <row>
 | 
			
		||||
                    <cell sclass="row-title">${labels.InvoicingDescription} :</cell>
 | 
			
		||||
                    <cell>
 | 
			
		||||
                        <textbox
 | 
			
		||||
                                width="350px"
 | 
			
		||||
                                rows="5"
 | 
			
		||||
                                value="@bind(vm.dataBean.requirement.description)"
 | 
			
		||||
                                maxlength="@load(vm.lengthDescription)"
 | 
			
		||||
                                readonly="true"/>
 | 
			
		||||
                    </cell>
 | 
			
		||||
                </row>
 | 
			
		||||
                <row>
 | 
			
		||||
                    <cell sclass="row-title">${labels.InvoicingRequirementPrice} :</cell>
 | 
			
		||||
                    <cell>
 | 
			
		||||
                        <textbox
 | 
			
		||||
                                width="150px"
 | 
			
		||||
                                value="@bind(vm.dataBean.requirement.sumTotal) @converter(vm.standardBigDecimalConverter)"
 | 
			
		||||
                                maxlength="@load(vm.lengthText)"
 | 
			
		||||
                                readonly="true"/>
 | 
			
		||||
                    </cell>
 | 
			
		||||
                </row>
 | 
			
		||||
                <row>
 | 
			
		||||
                    <cell sclass="row-title">${labels.InvoicingInvoicedPrice} :</cell>
 | 
			
		||||
                    <cell>
 | 
			
		||||
                        <textbox
 | 
			
		||||
                                width="150px"
 | 
			
		||||
                                value="@bind(vm.dataBean.totalInvoiced) @converter(vm.standardBigDecimalConverter)"
 | 
			
		||||
                                readonly="true"
 | 
			
		||||
                                maxlength="@load(vm.lengthText)"
 | 
			
		||||
                                style="@load(vm.dataBean.totalInvoiced gt vm.dataBean.requirement.sumTotal ? ' color: red;' : '' )"/>
 | 
			
		||||
                    </cell>
 | 
			
		||||
                </row>
 | 
			
		||||
            </rows>
 | 
			
		||||
        </grid>
 | 
			
		||||
    </hbox>
 | 
			
		||||
    <listbox
 | 
			
		||||
            vflex="1"
 | 
			
		||||
            model="@load(vm.dataBean.requirement.items)">
 | 
			
		||||
        <listhead>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="10"
 | 
			
		||||
                    label="${labels.RequirementItemCode}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="15"
 | 
			
		||||
                    label="${labels.RequirementItemName}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="30"
 | 
			
		||||
                    label="${labels.RequirementItemText}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="10"
 | 
			
		||||
                    align="right"
 | 
			
		||||
                    label="${labels.RequirementItemQuantity}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="10"
 | 
			
		||||
                    label="${labels.RequirementItemMUnit}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="10"
 | 
			
		||||
                    align="right"
 | 
			
		||||
                    label="${labels.RequirementItemUnitPrice}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="10"
 | 
			
		||||
                    align="right"
 | 
			
		||||
                    label="${labels.RequirementItemTotal}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="10"
 | 
			
		||||
                    align="right"
 | 
			
		||||
                    label="${labels.InvoicingInvoiced}"/>
 | 
			
		||||
            <listheader
 | 
			
		||||
                    hflex="15"
 | 
			
		||||
                    label="${labels.RequirementItemDescription}"/>
 | 
			
		||||
        </listhead>
 | 
			
		||||
        <template name="model">
 | 
			
		||||
            <listitem>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@load(each.code)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@load(each.name)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@load(each.textItem)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@bind(each.quantity) @converter(vm.standardBigDecimalConverter)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@bind(each.munit.name)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@bind(each.unitPrice) @converter(vm.standardBigDecimalConverter)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@bind(each.total) @converter(vm.standardBigDecimalConverter)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <checkbox checked="@bind(each.paid)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
                <listcell>
 | 
			
		||||
                    <label value="@bind(each.description)"/>
 | 
			
		||||
                </listcell>
 | 
			
		||||
            </listitem>
 | 
			
		||||
        </template>
 | 
			
		||||
    </listbox>
 | 
			
		||||
    <include src="/app/formButtons.zul"/>
 | 
			
		||||
</vlayout>
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue