20260808172946
This commit is contained in:
1 parent
4fbfea82f2
commit
d72ca4193d
293 files changed
+37523
-73467
No files matched your search
@@ -14,3 +14,6 @@ logging.level.org.springframework.jdbc.core.StatementCreatorUtils=TRACE
|
||||
logging.level.p6spy=DEBUG
|
||||
logging.level.com.p6spy=DEBUG
|
||||
#server.servlet.context-path=/api
|
||||
|
||||
dbconfigs.path=./config/dbconfigs
|
||||
report.path=./config/report
|
||||
@@ -1,4 +1,4 @@
|
||||
url=jdbc:sqlserver://192.168.1.189:1433;databaseName=G3HY2025
|
||||
username=sa
|
||||
password=g3soft
|
||||
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
@@ -0,0 +1,4 @@
|
||||
url=jdbc:sqlserver://127.0.0.1:1433;databaseName=G3HY2025-CK
|
||||
username=sa
|
||||
password=123456@aaa
|
||||
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
Binary file not shown.
@@ -0,0 +1,147 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="付款申请单" language="groovy" pageWidth="595" pageHeight="842" columnWidth="575" leftMargin="10" rightMargin="10" topMargin="10" bottomMargin="10" uuid="929e7504-0041-46d2-b974-0ed3f97891d3">
|
||||
<property name="ireport.zoom" value="1.6105100000000017"/>
|
||||
<property name="ireport.x" value="0"/>
|
||||
<property name="ireport.y" value="0"/>
|
||||
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
|
||||
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
|
||||
</parameter>
|
||||
<parameter name="MainSQL" class="java.lang.String">
|
||||
<property name="MainSQL" value="select * from v_cw_sd where b_id='SS1508011'"/>
|
||||
</parameter>
|
||||
<parameter name="SubSQL" class="java.lang.String">
|
||||
<property name="SubSQL" value="select * from v_cw_sfdsub_s where father='SS1508011'"/>
|
||||
</parameter>
|
||||
<queryString>
|
||||
<![CDATA[$P!{MainSQL}]]>
|
||||
</queryString>
|
||||
<field name="b_id" class="java.lang.String"/>
|
||||
<background>
|
||||
<band splitType="Stretch"/>
|
||||
</background>
|
||||
<title>
|
||||
<band height="87" splitType="Stretch">
|
||||
<staticText>
|
||||
<reportElement x="0" y="0" width="575" height="36" uuid="771b9a8c-c9f6-45a6-843a-eafdf7ccbbc4"/>
|
||||
<box>
|
||||
<pen lineWidth="0.0"/>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="19" isBold="true" isItalic="false" isUnderline="false" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[入库单]]></text>
|
||||
</staticText>
|
||||
<textField isBlankWhenNull="true">
|
||||
<reportElement x="71" y="36" width="504" height="17" uuid="c28f4cbe-ea97-4825-a3a3-d32caa53a623"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="10" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[$F{b_id}]]></textFieldExpression>
|
||||
</textField>
|
||||
<staticText>
|
||||
<reportElement x="0" y="36" width="71" height="17" uuid="d44d81a0-d6c1-4107-95b9-3e91721d0966"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="10" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[入库单号:]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="53" width="71" height="17" uuid="39e4ddd7-e611-4d3a-b45c-cb99c7d155fd"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="10" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[入库人员:]]></text>
|
||||
</staticText>
|
||||
<textField isBlankWhenNull="true">
|
||||
<reportElement x="71" y="53" width="504" height="17" uuid="63298891-799f-4be1-83e5-5c74a8a209f5"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="10" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<staticText>
|
||||
<reportElement x="0" y="70" width="575" height="17" uuid="c4a301e6-2a9f-4e2a-9e6c-120d8830b500"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="10" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[]]></text>
|
||||
</staticText>
|
||||
</band>
|
||||
</title>
|
||||
<detail>
|
||||
<band height="69" splitType="Stretch">
|
||||
<subreport>
|
||||
<reportElement x="0" y="0" width="575" height="69" uuid="47a99867-5939-4687-9035-98c4d059a682"/>
|
||||
<subreportParameter name="SubSQL">
|
||||
<subreportParameterExpression><![CDATA[$P{SubSQL}]]></subreportParameterExpression>
|
||||
</subreportParameter>
|
||||
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
|
||||
<subreportExpression><![CDATA["入库单_subreport1.jasper"]]></subreportExpression>
|
||||
</subreport>
|
||||
</band>
|
||||
</detail>
|
||||
<columnFooter>
|
||||
<band height="87">
|
||||
<textField isBlankWhenNull="true">
|
||||
<reportElement x="0" y="24" width="575" height="63" uuid="a35d7fad-1fee-482b-a120-eed401ab9c60"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement verticalAlignment="Top">
|
||||
<font fontName="宋体" size="10" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<staticText>
|
||||
<reportElement x="0" y="1" width="575" height="23" uuid="88f21e1d-131b-4d90-b3f3-37122b03975a"/>
|
||||
<box>
|
||||
<topPen lineWidth="0.0"/>
|
||||
<leftPen lineWidth="0.0"/>
|
||||
<bottomPen lineWidth="0.0"/>
|
||||
<rightPen lineWidth="0.0"/>
|
||||
</box>
|
||||
<textElement verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="10" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[]]></text>
|
||||
</staticText>
|
||||
</band>
|
||||
</columnFooter>
|
||||
</jasperReport>
|
||||
Binary file not shown.
@@ -0,0 +1,220 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="单票利润表_subreport1" language="groovy" pageWidth="575" pageHeight="822" columnWidth="575" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="3d92bd6e-8e3b-4c46-a92b-1c394811461b">
|
||||
<property name="ireport.zoom" value="1.6105100000000012"/>
|
||||
<property name="ireport.x" value="0"/>
|
||||
<property name="ireport.y" value="0"/>
|
||||
<parameter name="SubSQL" class="java.lang.String">
|
||||
<property name="SubSQL" value="select * from v_cw_sfdsub_s where father='SS1508011'"/>
|
||||
</parameter>
|
||||
<queryString>
|
||||
<![CDATA[$P!{SubSQL}]]>
|
||||
</queryString>
|
||||
<field name="father" class="java.lang.String"/>
|
||||
<background>
|
||||
<band splitType="Stretch"/>
|
||||
</background>
|
||||
<detail>
|
||||
<band height="23" splitType="Stretch">
|
||||
<staticText>
|
||||
<reportElement x="0" y="0" width="71" height="23" uuid="8ff8db36-722b-4f43-866f-fa2e7d983039"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle" markup="none">
|
||||
<font fontName="宋体" size="9" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[产品名称]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="343" y="0" width="77" height="23" uuid="d6b65779-d93d-482b-bb9a-1aa784547020"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[应收提箱费用]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="258" y="0" width="85" height="23" uuid="66906486-6b8a-4481-b14e-99550e79639c"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[应收费用]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="146" y="0" width="112" height="23" uuid="e2af2d4b-f0b7-46f8-80d6-44f25e7d27e6"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[价格]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="420" y="0" width="77" height="23" uuid="225a4bd1-29b5-4098-9556-3db0c71599d6"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[应收提箱费用]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="497" y="0" width="78" height="23" uuid="8f889790-f689-4026-a684-7da5265d6f08"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[应收提箱费用]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="71" y="0" width="75" height="23" uuid="a76d3b40-177e-4e3b-aa10-d9b253a20873"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" isBold="true" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[数量]]></text>
|
||||
</staticText>
|
||||
</band>
|
||||
</detail>
|
||||
<summary>
|
||||
<band height="24">
|
||||
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
|
||||
<reportElement stretchType="RelativeToBandHeight" x="343" y="0" width="77" height="24" uuid="bc8c6046-a245-4623-b995-a152807e12a5"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
|
||||
<reportElement stretchType="RelativeToBandHeight" x="258" y="0" width="85" height="24" uuid="0e9d9599-bea6-4aeb-aa5b-f0345dca5d01"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
|
||||
<reportElement stretchType="RelativeToBandHeight" x="146" y="0" width="112" height="24" uuid="98a73c04-c8ed-4e0a-9c1e-6a6666485303"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
|
||||
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="71" height="24" uuid="f3a59b00-6d7b-4b23-9bab-ae3f2fd8c33d"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[$F{father}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" pattern="yyyy-MM-dd" isBlankWhenNull="true">
|
||||
<reportElement stretchType="RelativeToBandHeight" x="71" y="0" width="75" height="24" uuid="6a0725a5-173b-4449-a697-88f937720c16"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
|
||||
<reportElement stretchType="RelativeToBandHeight" x="420" y="0" width="77" height="24" uuid="721cac06-bb6f-4cad-9baf-2916f57c7568"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
|
||||
<reportElement stretchType="RelativeToBandHeight" x="497" y="0" width="78" height="24" uuid="78c13f0b-5e93-465c-b5a4-31f1de2f48f5"/>
|
||||
<box>
|
||||
<pen lineWidth="0.5"/>
|
||||
<topPen lineWidth="0.5"/>
|
||||
<leftPen lineWidth="0.5"/>
|
||||
<bottomPen lineWidth="0.5"/>
|
||||
<rightPen lineWidth="0.5"/>
|
||||
</box>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="宋体" size="9" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA[""]]></textFieldExpression>
|
||||
</textField>
|
||||
</band>
|
||||
</summary>
|
||||
</jasperReport>
|
||||
Binary file not shown.
Reference in new issue
Block a user