| fzzy-igdss-core/src/main/java/com/fzzy/igds/bill/InoutBill.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/MoneyUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSettle.view.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSettlePR.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChange.view.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| fzzy-igdss-web/src/main/resources/templates/print/pay.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
fzzy-igdss-core/src/main/java/com/fzzy/igds/bill/InoutBill.java
@@ -19,5 +19,6 @@ /** * é»è®¤ç»ç®å */ public static String IN_SETTLE_DEFAULT = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type'content='text/html;charset=UTF-8'><title>å ¥åºè¿ç£ å</title><style>body{text-align:center;padding:10px}.tit{margin:10px;font-size:24px;font-family:'å®ä½';padding-top:15px}.div-tit{padding-top:10px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:50%;float:left;padding-bottom:10px}.sp2{width:50%;float:left;text-align:center}</style></head><body><h1 class='tit'>billTitle</h1><div class='div-tit'><span class='sp1'>ç»ç®æ¶é´ï¼payTime</span><span class='sp1'>å ¥åºåå·ï¼serId</span></div><table cellspacing='0'cellpadding='0'><tr><td width='12.5%'>åè´§åä½</td><td colspan='3'width='37.5%'>customerName</td><td width='12.5%'>æ¶è´§åä½</td><td colspan='3'width='37.5%'>deptName</td></tr><tr><td width='12.5%'>弿·é¶è¡</td><td colspan='3'width='37.5%'>bank</td><td>æ¯é(KG)</td><td>fullWeight</td><td>ç®é(KG)</td><td>emptyWeight</td></tr><tr><td width='12.5%'>é¶è¡å¡å·</td><td colspan='3'width='37.5%'>banNum</td><td>åé(KG)</td><td>netWeight</td><td>æ»æ£é(KG)</td><td>deSum</td></tr><tr><td>å ¥åºä»åº</td><td>depotName</td><td>ç²®é£åç§</td><td>foodVariety</td><td>ç²®é£åä»·</td><td>payPrice</td><td>ç»ç®éé</td><td>settleWeight</td></tr><tr><td>ä¿ç®¡å</td><td>keeperName</td><td>æ¿è¿äºº</td><td>driverName</td><td>å ¶ä»è´¹ç¨</td><td>otherSum</td><td>ç»ç®è´¹ç¨</td><td>paySum</td></tr><tr><td>夿³¨</td><td colspan='3'>remark</td><td>大åéé¢</td><td colspan='3'>moneyName</td></tr></table><div class='div-tit'><span class=\"sp2\">æ¶è´§åä½ç¾åï¼</span><span class=\"sp2\">客æ·ç¾åï¼</span></div></body></html>"; public static String IN_SETTLE_DEFAULT = "<!DOCTYPE html><html lang='zh-cn'><head><meta http-equiv='Content-Type'content='text/html;charset=UTF-8'><title>ç»ç®å</title><style>body{text-align:center;padding:10px;font-family:'å®ä½'}.tit{font-size:24px;flex-grow:1;text-align:center}.div-tit{padding-top:6px}table{width:100%;border-right:1px solid;border-bottom:1px solid;font-size:14px;border-collapse:collapse}table td{border-left:1px solid;border-top:1px solid;height:32px}.sp1{width:33%;float:left;padding-bottom:5px}.sp2{width:25%;float:left;text-align:center}.sp3{width:16.6%;float:left;text-align:center}.txt-left{text-align:left}.txt-center{text-align:center}.txt-right{text-align:right}</style></head><body><h1 class='tit'><u>[billTitle]</u></h1><div class='div-tit'><span class='sp1 txt-left'>åºåºåç§°ï¼[deptId]</span><span class='sp1 txt-center'>åæ®å·:[id]</span><span class='sp1 txt-right'>æå°æ¶é´ï¼[payTime]</span></div><table cellspacing='0'cellpadding='0'><tr><td>客æ·åç§°</td><td colspan='7'>[customerName]</td></tr><tr><td width='12.5%'>æ¿è¿äºº</td><td width='37.5%'colspan='3'>[userName]</td><td width='12.5%'>èç³»çµè¯</td><td width='37.5%'colspan='3'>[userContact]</td></tr><tr><td>身份è¯å·ç </td><td colspan='3'>[userId]</td><td>车çå·</td><td colspan='3'>[plateNum]</td></tr><tr><td>ä»åº</td><td colspan='3'>[depotId]</td><td>ç²®é£åç§°</td><td colspan='3'>[foodVariety]</td></tr><tr><td>夿³¨</td><td colspan=\"7\">[remark]</td></tr><tr><td colspan=\"8\">计éä¿¡æ¯</td></tr><tr><td>æ¯é</td><td colspan='2'>[fullWeight]å ¬æ¤</td><td>ç®é</td><td colspan='2'>[emptyWeight]å ¬æ¤</td><td>æ£é</td><td colspan='2'>[deOther]å ¬æ¤</td></tr><tr><td colspan=\"8\">ç»ç®ä¿¡æ¯</td></tr><tr><td>åä»·</td><td colspan='2'>[payPrice]å /å ¬æ¤</td><td>ç»ç®éé</td><td colspan='2'>[settleWeight]å ¬æ¤</td><td>ç»ç®éé¢</td><td colspan='2'>[payMoney]å </td></tr><tr><td>大åéé¢</td><td colspan=\"7\">[payMoneyName]</td></tr></table><div class='div-tit'><span class='sp2 txt-left '>ç»ç®åï¼_______</span><span class='sp2 txt-left '>ä¿ç®¡åï¼_______</span><span class='sp2 txt-left '>å®¡æ ¸äººï¼_______</span><span class='sp2 txt-left '>æ¿è¿äººï¼_______</span></div></body></html>"; } fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -14,6 +14,7 @@ import com.fzzy.igds.mapper.InoutRecordMapper; import com.fzzy.igds.utils.ContextUtil; import com.fzzy.igds.utils.DateUtil; import com.fzzy.igds.utils.MoneyUtil; import com.fzzy.igds.utils.NumberUtil; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.redis.RedisCache; @@ -23,6 +24,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.text.DecimalFormat; import java.util.Date; import java.util.List; @@ -124,15 +126,16 @@ if (StringUtils.isNotBlank(param.getType())) { queryWrapper.eq("type", param.getType()); } if (StringUtils.isNotBlank(param.getSettleTag())) { queryWrapper.eq("settle_tag", param.getSettleTag()); } if (null != param.getStart()) { queryWrapper.ge("create_time", DateUtil.getCurZero(param.getStart())); } if (null != param.getEnd()) { queryWrapper.le("create_time", DateUtil.getNextZero(param.getEnd())); } queryWrapper.eq("record_status", Constant.RECORD_STATUS_NORMAL); //æ£å¸¸ç¶æçåå queryWrapper.or(); queryWrapper.eq("record_status", Constant.RECORD_STATUS_ADD); //è¡¥å½ååçåå queryWrapper.ne("record_status", Constant.RECORD_STATUS_DEL); //䏿¯å é¤çååï¼å³æ£å¸¸çåå queryWrapper.orderByDesc("create_time"); return queryWrapper; @@ -649,4 +652,71 @@ return bill; } /** * è·åç»ç®å * * @param * @return */ public String printPay(InoutRecord data) { // è°æ´æ¨¡çæ°æ®å¹¶è¿å String htmlStr = InoutBill.IN_SETTLE_DEFAULT; //æ é¢ //æ¸ è¿åºåè´§åä½åæ é¢ï¼ä½¿ç¨å ¬å¸å String billTitle = data.getType().equals("IN") ? "å ¥åºç»ç®å" : "åºåºç»ç®å"; htmlStr = htmlStr.replace("[billTitle]", billTitle); //åºåºåç§° SysDept dept = sysDeptService.getCacheDept(data.getCompanyId(), data.getDeptId()); if (dept != null) { htmlStr = htmlStr.replace("[deptId]", null == data.getDeptId() ? "" : dept.getDeptName()); } else { htmlStr = htmlStr.replace("[deptId]", ""); } //ä¸å¡åå· htmlStr = htmlStr.replace("[id]", data.getId()); //æå°æ¶é´ htmlStr = htmlStr.replace("[payTime]", null == data.getSettleTime() ? "" : DateFormatUtils.format(data.getSettleTime(), "yyyyå¹´MMæddæ¥")); //客æ·åç§° htmlStr = htmlStr.replace("[customerName]", null == data.getCustomerName() ? "" : data.getCustomerName()); //æ¿è¿äºº htmlStr = htmlStr.replace("[userName]", null == data.getUserName() ? "" : data.getUserName()); //æ¿è¿äººèç³»çµè¯ htmlStr = htmlStr.replace("[userContact]", null == data.getUserContact() ? "" : data.getUserContact()); //æ¿è¿äººèº«ä»½è¯å· htmlStr = htmlStr.replace("[userId]", null == data.getUserId() ? "" : data.getUserId()); //æ¿è¿äººè½¦çå· htmlStr = htmlStr.replace("[plateNum]", null == data.getPlateNum() ? "" : data.getPlateNum()); //è·åä»åºä¿¡æ¯ Depot depot = depotService.getCacheDepot(data.getCompanyId(), data.getDepotId()); if (null != depot) { //è´§ä½ä¿¡æ¯ htmlStr = htmlStr.replace("[depotId]", depot.getName()); } //ç²®é£åç§° htmlStr = htmlStr.replace("[foodVariety]", null == data.getFoodVariety() ? "" : FoodVariety.getMsg(data.getFoodVariety())); //夿³¨ htmlStr = htmlStr.replace("[remark]", null == data.getRemarks() ? "" : data.getRemarks()); //æ¯é htmlStr = htmlStr.replace("[fullWeight]", null == data.getFullWeight() ? "" : String.format("%.2f", data.getFullWeight())); //ç®é htmlStr = htmlStr.replace("[emptyWeight]", null == data.getEmptyWeight() ? "" : String.format("%.2f", data.getEmptyWeight())); //æ£é htmlStr = htmlStr.replace("[deOther]", null == data.getDeOther() ? "" : String.format("%.2f", data.getDeOther())); //ç²®æ²¹ä»·æ ¼ htmlStr = htmlStr.replace("[payPrice]", null == data.getPrice() ? "" : String.format("%.3f", data.getPrice())); //ç»ç®éé htmlStr = htmlStr.replace("[settleWeight]", String.format("%.2f", data.getSettleWeight())); //ç»ç®éé¢ htmlStr = htmlStr.replace("[payMoney]", null == data.getSettleMoney() ? "" : String.format("%.3f", data.getSettleMoney())); //ç»ç®ééåç§° htmlStr = htmlStr.replace("[payMoneyName]", MoneyUtil.formatToCN(new BigDecimal(String.format("%.2f", data.getSettleMoney())))); return htmlStr; } } fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/MoneyUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,129 @@ package com.fzzy.igds.utils; import java.math.BigDecimal; /** * * * æ°å转æ¢ä¸ºæ±è¯ä¸äººæ°å¸ç大å<br> * */ public class MoneyUtil { /** * æ±è¯ä¸æ°å大å */ private static final String[] CN_UPPER_NUMBER = { "é¶", "壹", "è´°", "å", "è", "ä¼", "é", "æ", "æ", "ç" }; /** * æ±è¯ä¸è´§å¸åä½å¤§åï¼è¿æ ·ç设计类似äºå ä½ç¬¦ */ private static final String[] CN_UPPER_MONETRAY_UNIT = { "å", "è§", "å ", "æ¾", "ä½°", "ä»", "ä¸", "æ¾", "ä½°", "ä»", "亿", "æ¾", "ä½°", "ä»", "å ", "æ¾", "ä½°", "ä»" }; /** * ç¹æ®åç¬¦ï¼æ´ */ private static final String CN_FULL = "æ´"; /** * ç¹æ®å符ï¼è´ */ private static final String CN_NEGATIVE = "è´"; /** * éé¢ç精度ï¼é»è®¤å¼ä¸º2 */ private static final int MONEY_PRECISION = 2; /** * ç¹æ®å符ï¼é¶å æ´ */ private static final String CN_ZEOR_FULL = "é¶å " + CN_FULL; /** * æè¾å ¥çéé¢è½¬æ¢ä¸ºæ±è¯ä¸äººæ°å¸ç大å * * @param numberOfMoney * è¾å ¥çéé¢ * @return 对åºçæ±è¯å¤§å */ public static String formatToCN(BigDecimal numberOfMoney) { StringBuffer sb = new StringBuffer(); // -1, 0, or 1 as the value of this BigDecimal is negative, zero, or // positive. int signum = numberOfMoney.signum(); // é¶å æ´çæ åµ if (signum == 0) { return CN_ZEOR_FULL; } // è¿éä¼è¿è¡éé¢çåèäºå ¥ long number = numberOfMoney.movePointRight(MONEY_PRECISION) .setScale(0, 4).abs().longValue(); // å¾å°å°æ°ç¹å两ä½å¼ long scale = number % 100; int numUnit = 0; int numIndex = 0; boolean getZero = false; // 夿æå䏤使°ï¼ä¸å ±æå䏿 åµï¼00 = 0, 01 = 1, 10, 11 if (!(scale > 0)) { numIndex = 2; number = number / 100; getZero = true; } if ((scale > 0) && (!(scale % 10 > 0))) { numIndex = 1; number = number / 10; getZero = true; } int zeroSize = 0; while (true) { if (number <= 0) { break; } // æ¯æ¬¡è·åå°æåä¸ä¸ªæ° numUnit = (int) (number % 10); if (numUnit > 0) { if ((numIndex == 9) && (zeroSize >= 3)) { sb.insert(0, CN_UPPER_MONETRAY_UNIT[6]); } if ((numIndex == 13) && (zeroSize >= 3)) { sb.insert(0, CN_UPPER_MONETRAY_UNIT[10]); } sb.insert(0, CN_UPPER_MONETRAY_UNIT[numIndex]); sb.insert(0, CN_UPPER_NUMBER[numUnit]); getZero = false; zeroSize = 0; } else { ++zeroSize; if (!(getZero)) { sb.insert(0, CN_UPPER_NUMBER[numUnit]); } if (numIndex == 2) { if (number > 0) { sb.insert(0, CN_UPPER_MONETRAY_UNIT[numIndex]); } } else if (((numIndex - 2) % 4 == 0) && (number % 1000 > 0)) { sb.insert(0, CN_UPPER_MONETRAY_UNIT[numIndex]); } getZero = true; } // 让numberæ¯æ¬¡é½å»ææåä¸ä¸ªæ° number = number / 10; ++numIndex; } // 妿signum == -1ï¼å说æè¾å ¥çæ°åä¸ºè´æ°ï¼å°±å¨æåé¢è¿½å ç¹æ®å符ï¼è´ if (signum == -1) { sb.insert(0, CN_NEGATIVE); } // è¾å ¥çæ°åå°æ°ç¹å两ä½ä¸º"00"çæ åµï¼åè¦å¨æå追å ç¹æ®åç¬¦ï¼æ´ if (!(scale > 0)) { sb.append(CN_FULL); } return sb.toString(); } public static void main(String[] args) { double money = 11901.1; BigDecimal numberOfMoney = new BigDecimal(money); String s = MoneyUtil.formatToCN(numberOfMoney); System.out.println("ä½ è¾å ¥çéé¢ä¸ºï¼ã" + money + "ã #--# [" + s.toString() + "]"); } } fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutDataPR.java
@@ -32,7 +32,6 @@ * * @param page * @param param * @throws Exception */ @DataProvider public void pageInoutData(Page<InoutRecord> page, InoutParam param) { fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml
@@ -316,7 +316,7 @@ </Property> </PropertyDef> <PropertyDef name="plateNum"> <Property name="label">车çå·å·</Property> <Property name="label">车çå·</Property> </PropertyDef> <PropertyDef name="foodVariety"> <Property></Property> fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSettle.view.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,920 @@ <?xml version="1.0" encoding="UTF-8"?> <ViewConfig> <Arguments/> <Context/> <Model> <DataType name="dtQuery"> <Property name="creationType">com.fzzy.igds.data.InoutParam</Property> <PropertyDef name="plateNum"> <Property name="label">车çå·</Property> </PropertyDef> <PropertyDef name="type"> <Property name="label">åºå ¥åºç±»å</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="name">åºåº</Property> <Property name="value">OUT</Property> </Entity> <Entity> <Property name="name">å ¥åº</Property> <Property name="value">IN</Property> </Entity> </Collection> </Property> <Property name="keyProperty">value</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="settleTag"> <Property name="label">æ¯å¦ç»ç®</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="name">æªç»ç®</Property> <Property name="value">N</Property> </Entity> <Entity> <Property name="name">å·²ç»ç®</Property> <Property name="value">Y</Property> </Entity> </Collection> </Property> <Property name="keyProperty">value</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="start"> <Property name="label">å¼å§æ¶é´</Property> <Property name="dataType">Date</Property> </PropertyDef> <PropertyDef name="end"> <Property name="label">æªæ¢æ¶é´</Property> <Property name="dataType">Date</Property> </PropertyDef> </DataType> <DataType name="dtMain"> <Property name="creationType">com.fzzy.igds.domain.InoutRecord</Property> <PropertyDef name="id"> <Property></Property> <Property name="label">åæ®å·</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="companyId"> <Property></Property> <Property name="label">ç»ç»ç¼ç </Property> </PropertyDef> <PropertyDef name="progress"> <Property></Property> <Property name="label">æµç¨è¿åº¦</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("PROCESS_STATUS_")}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> </PropertyDef> <PropertyDef name="recordStatus"> <Property></Property> <Property name="label">æ°æ®ç¶æ</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("RECORD_STATUS")}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> </PropertyDef> <PropertyDef name="checkStatus"> <Property></Property> <Property name="label">æ¦æ ·ç»æ</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("CHECK_STATUS")}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> </PropertyDef> <PropertyDef name="registerTime"> <Property name="dataType">DateTime</Property> <Property name="label">ç»è®°æ¶é´</Property> </PropertyDef> <PropertyDef name="registerUser"> <Property></Property> <Property name="label">ç»è®°äººå</Property> </PropertyDef> <PropertyDef name="userName"> <Property></Property> <Property name="label">æ¿è¿äºº</Property> </PropertyDef> <PropertyDef name="userId"> <Property></Property> <Property name="label">身份è¯å·</Property> </PropertyDef> <PropertyDef name="userContact"> <Property></Property> <Property name="label">èç³»æ¹å¼</Property> </PropertyDef> <PropertyDef name="userAddress"> <Property></Property> <Property name="label">æ¿è¿äººå°å</Property> </PropertyDef> <PropertyDef name="plateNum"> <Property></Property> <Property name="label">车çå·</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="customerName"> <Property></Property> <Property name="label">徿¥åä½</Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="foodLocation"> <Property></Property> <Property name="label">ç²®é£äº§å°</Property> </PropertyDef> <PropertyDef name="foodYear"> <Property></Property> <Property name="label">ç²®é£å¹´ä»½</Property> </PropertyDef> <PropertyDef name="deOther"> <Property name="dataType">Double</Property> <Property name="label">æ£é</Property> <Property name="displayFormat">0.0 KG</Property> </PropertyDef> <PropertyDef name="fullWeight"> <Property name="dataType">Double</Property> <Property name="label">满车称é</Property> <Property name="required">true</Property> <Property name="displayFormat">0.0 KG</Property> </PropertyDef> <PropertyDef name="fullWeightTime"> <Property name="dataType">DateTime</Property> <Property name="label">满车称æ¶é´</Property> </PropertyDef> <PropertyDef name="fullWeightUser"> <Property></Property> <Property name="label">满车称é人</Property> </PropertyDef> <PropertyDef name="emptyWeight"> <Property name="dataType">Double</Property> <Property name="label">空车称é</Property> <Property name="required">true</Property> <Property name="displayFormat">0.0 KG</Property> </PropertyDef> <PropertyDef name="emptyWeightTime"> <Property name="dataType">DateTime</Property> <Property name="label">空车称æ¶é´</Property> </PropertyDef> <PropertyDef name="emptyWeightUser"> <Property></Property> <Property name="label">空车称é人</Property> </PropertyDef> <PropertyDef name="netWeight"> <Property name="dataType">Double</Property> <Property name="label">åé</Property> <Property name="displayFormat">0.0 KG</Property> </PropertyDef> <PropertyDef name="settleWeight"> <Property name="dataType">Double</Property> <Property name="label">ç»ç®åé</Property> <Property name="required">true</Property> <Property name="displayFormat">0.0 KG</Property> </PropertyDef> <PropertyDef name="recordWeight"> <Property name="dataType">Double</Property> <Property name="label">å ¥åºéé</Property> <Property name="displayFormat">0.0 KG</Property> </PropertyDef> <PropertyDef name="handleStart"> <Property name="dataType">Date</Property> <Property name="label">å¼ä»å¼å§æ¶é´</Property> </PropertyDef> <PropertyDef name="handleEnd"> <Property name="dataType">Date</Property> <Property name="label">å¼ä»ç»ææ¶é´</Property> </PropertyDef> <PropertyDef name="handleUser"> <Property></Property> <Property name="label">å¼ä»æä½äºº</Property> </PropertyDef> <PropertyDef name="completeTime"> <Property name="dataType">DateTime</Property> <Property name="label">宿æ¶é´</Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="completeUser"> <Property></Property> <Property name="label">å®æç¡®è®¤äºº</Property> </PropertyDef> <PropertyDef name="remarks"> <Property></Property> <Property name="label">夿³¨ä¿¡æ¯</Property> </PropertyDef> <PropertyDef name="deptId"> <Property></Property> <Property name="label">æå±ååº</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property> <Property name="keyProperty">id</Property> <Property name="valueProperty">kqmc</Property> </Property> </PropertyDef> <PropertyDef name="foodVariety"> <Property></Property> <Property name="label">ç²®é£åç§</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="depotId"> <Property></Property> <Property name="label">è£ å¸ä»åº</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> <Property name="keyProperty">id</Property> <Property name="valueProperty">name</Property> </Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="type"> <Property name="label">åºå ¥åºç±»å</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="name">åºåº</Property> <Property name="value">OUT</Property> </Entity> <Entity> <Property name="name">å ¥åº</Property> <Property name="value">IN</Property> </Entity> </Collection> </Property> <Property name="keyProperty">value</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="foodLevel"> <Property></Property> <Property name="label">ç²®é£ç级</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerFoodLevel").getResult()}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> </PropertyDef> <PropertyDef name="checkUser"> <Property></Property> <Property name="label">è´¨æ£äºº</Property> </PropertyDef> <PropertyDef name="price"> <Property name="dataType">double</Property> <Property name="label">ç²®é£å®ä»·</Property> <Property name="displayFormat">0.00 å /å ¬æ¤</Property> </PropertyDef> <PropertyDef name="noticeId"> <Property></Property> <Property name="label">éç¥åç¼ç </Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="foodLocationId"> <Property></Property> <Property name="label">产å°å称代ç </Property> </PropertyDef> <PropertyDef name="checkTime"> <Property name="dataType">DateTime</Property> <Property name="label">è´¨æ£æ¶é´</Property> </PropertyDef> <PropertyDef name="perWet"> <Property name="dataType">Double</Property> <Property name="label">æ°´å</Property> <Property name="displayFormat">0.00 %</Property> </PropertyDef> <PropertyDef name="perImpurity"> <Property name="dataType">Double</Property> <Property name="label">æè´¨</Property> <Property name="displayFormat">0.00 %</Property> </PropertyDef> <PropertyDef name="settleMoney"> <Property name="dataType">Double</Property> <Property name="label">ç»ç®éé¢</Property> <Property name="displayFormat">0.00 å </Property> </PropertyDef> <PropertyDef name="settleTag"> <Property></Property> <Property name="label">æ¯å¦ç»ç®</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="name">æªç»ç®</Property> <Property name="value">N</Property> </Entity> <Entity> <Property name="name">å·²ç»ç®</Property> <Property name="value">Y</Property> </Entity> </Collection> </Property> <Property name="keyProperty">value</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="settleTime"> <Property name="dataType">DateTime</Property> <Property name="label">ç»ç®æ¶é´</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="createTime"> <Property name="dataType">DateTime</Property> <Property name="label">å建æ¶é´</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="createBy"> <Property></Property> <Property name="label">å建人</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="updateTime"> <Property name="dataType">DateTime</Property> <Property name="label">æ´æ°æ¶é´</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="updateBy"> <Property></Property> <Property name="label">æ´æ°äºº</Property> <Property name="readOnly">true</Property> </PropertyDef> </DataType> </Model> <View layout="padding:10"> <ClientEvent name="onReady">var deptId = window.parent.DEPT_ID;//ç¶é¡µé¢ä¸çååºç¼ç 
 //é»è®¤æ¥è¯¢æ¥è¯¢ææ¡ä»¶
 view.get("#dsQuery").insert({
 deptId:deptId
 });
 /**
 * æ¥è¯¢
 */
 query = function(){
 var data = view.get("#dsQuery.data");
 view.get("#dsMain").set("parameter",data).flushAsync();
 }
 query();
 /**
 * èªå¨è®¡ç®
 * @param name
 */
 payMoney = function () {
 
 var curData = view.get("#dsMain.data:#");
 var price = curData.get("price");
 var settleWeight = curData.get("settleWeight");
 var settleMoney = Number(price)*Number(settleWeight);
 
 curData.set("settleMoney", settleMoney);
 };
 //æå°ç»ç®å
 printPay = function () {
 var data = view.get("#dataGridSettle").get("selection");
 if (!data) return;
 if ("DEL" == data.get("recordStatus")) {
 $alert("å¼å¸¸å¤ççä¿¡æ¯ä¸æ¯ææå°ï¼");
 return;
 }
 if ("RECORD" != data.get("progress")) {
 $alert("æµç¨æªå®æä¸æ¯ææå°ï¼");
 return;
 }
 if ("N" == data.get("settleTag")) {
 $alert("æªç»ç®çæ°æ®ä¸æ¯ææå°ï¼");
 return;
 }
 view.get("#ajaxPrint").set("parameter", data).execute(function (result) {
 printBill(result);
 });
 };
 /**
 * æå°
 */
 printBill = function (htmlStr) {
 var LODOP = CLODOP;
 LODOP.PRINT_INIT("ç§°éå");
 LODOP.SET_PRINT_PAGESIZE(1, 2100, 1400, "A4");
 LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
 LODOP.PREVIEW();
 };
 </ClientEvent> <Property name="packages">font-awesome,css-common</Property> <Property name="javaScriptFile">./static/js/plugins/lodop/LodopFuncs.js</Property> <DataSet id="dsMain"> <Property name="dataProvider">inoutSettlePR#pageInoutSettleData</Property> <Property name="pageSize">20</Property> <Property name="dataType">[dtMain]</Property> <Property name="loadMode">manual</Property> </DataSet> <DataSet id="dsQuery"> <Property name="dataType">dtQuery</Property> </DataSet> <Container> <Property name="className">c-param</Property> <AutoForm> <Property name="cols">*,*,*,*,90,90</Property> <Property name="dataSet">dsQuery</Property> <Property name="labelAlign">right</Property> <Property name="labelWidth">100</Property> <AutoFormElement> <Property name="name">type</Property> <Property name="property">type</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">settleTag</Property> <Property name="property">settleTag</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">start</Property> <Property name="property">start</Property> <Property name="trigger">defaultDateDropDown</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">end</Property> <Property name="property">end</Property> <Property name="trigger">defaultDateDropDown</Property> <Editor/> </AutoFormElement> <Button> <ClientEvent name="onClick">query();
</ClientEvent> <Property name="caption">æç´¢</Property> <Property name="iconClass">fa fa-search</Property> <Property name="exClassName">btn-q1</Property> </Button> <Button> <ClientEvent name="onClick">var deptId = window.parent.DEPT_ID;//ç¶é¡µé¢ä¸çååºç¼ç 
 view.get("#dsQuery").setData({deptId:deptId});</ClientEvent> <Property name="caption">éç½®</Property> <Property name="exClassName">btn-q2</Property> <Property name="iconClass">fa fa-refresh</Property> </Button> </AutoForm> </Container> <Container> <Property name="className">c-data</Property> <ToolBar> <ToolBarButton> <ClientEvent name="onClick">var data = view.get("#dataGridSettle").get("selection");
 if(data){
 view.get("#dialogMain").show();
 }else{
 $notify("è¯·éæ©éè¦ç»ç®çä¿¡æ¯â¦â¦");
 }</ClientEvent> <Property name="caption">ç»ç®</Property> <Property name="exClassName">btn1</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-plus</Property> </ToolBarButton> <ToolBarButton> <ClientEvent name="onClick">var data = view.get("#dataGridSettle").get("selection");
 if(data){
 view.get("#dialogMain").show();
 }else{
 $notify("è¯·éæ©éè¦ä¿®æ¹çä¿¡æ¯â¦â¦");
 }</ClientEvent> <Property name="caption">æ¥ç</Property> <Property name="exClassName">btn2</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-pencil-square-o</Property> </ToolBarButton> <ToolBarButton> <ClientEvent name="onClick">var data = view.get("#dataGridSettle").get("selection");
 if (!data) {
 $alert("请å éæ©æ°æ®ï¼");
 return;
 }
 
 printPay();
 </ClientEvent> <Property name="caption">æå°ç»ç®å</Property> <Property name="exClassName">btn4</Property> <Property name="iconClass">fa fa-print</Property> <Property name="width">120</Property> </ToolBarButton> </ToolBar> <DataGrid id="dataGridSettle" layoutConstraint="padding:8"> <ClientEvent name="onDataRowClick">view.get("#dataGridSettle").set("selection",arg.data);</ClientEvent> <Property name="dataSet">dsMain</Property> <Property name="selectionMode">singleRow</Property> <Property name="readOnly">true</Property> <RowSelectorColumn/> <RowNumColumn> <Property name="width">50</Property> </RowNumColumn> <DataColumn name="id"> <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 arg.dom.style.color = "#f67d06";
 arg.processDefault = true;</ClientEvent> <Property name="property">id</Property> <Property name="align">center</Property> <Property name="width">150</Property> </DataColumn> <DataColumn name="type"> <Property name="property">type</Property> <Property name="align">center</Property> <Property name="width">90</Property> </DataColumn> <DataColumn name="plateNum"> <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 arg.processDefault = true;</ClientEvent> <Property name="property">plateNum</Property> <Property name="align">center</Property> </DataColumn> <DataColumn> <Property name="property">customerName</Property> <Property name="name">customerName</Property> <Property name="align">center</Property> <Property name="caption">徿¥åä½</Property> </DataColumn> <DataColumn name="depotId"> <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 arg.processDefault = true;</ClientEvent> <Property name="property">depotId</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="foodVariety"> <Property name="property">foodVariety</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="settleTag"> <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 arg.processDefault = true;</ClientEvent> <Property name="property">settleTag</Property> <Property name="align">center</Property> <Property name="width">100</Property> </DataColumn> <DataColumn name="settleWeight"> <Property name="property">settleWeight</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="price"> <Property name="property">price</Property> <Property name="caption">åä»·</Property> <Property name="align">center</Property> <Property name="width">120</Property> </DataColumn> <DataColumn name="settleMoney"> <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 arg.processDefault = true;</ClientEvent> <Property name="property">settleMoney</Property> <Property name="align">center</Property> <Property name="width">150</Property> </DataColumn> <DataColumn name="settleTime"> <Property name="property">settleTime</Property> <Property name="align">center</Property> <Property name="width">180</Property> </DataColumn> </DataGrid> <ToolBar layoutConstraint="bottom"> <Fill/> <DataPilot layoutConstraint="right"> <Property name="itemCodes">pageSize,pages</Property> <Property name="dataSet">dsMain</Property> </DataPilot> </ToolBar> </Container> <Dialog id="dialogMain" layout="regionPadding:8"> <Property name="iconClass">fa fa-tasks</Property> <Property name="caption">ç»ç®ä¿¡æ¯</Property> <Property name="width">1200</Property> <Property name="showCaptionBar">false</Property> <Buttons> <Button id="btnOK"> <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 if(data.validate() != 'ok'){
 $notify("æ°æ®æ ¡éªå¤±è´¥ï¼ï¼");
 return;
 }
 view.get("#uaSave").execute(function(result){
 if(result){
 $alert(result);
 return;
 }
 $notify("æ°æ®æ§è¡å®æï¼ï¼");
 self.get("parent").hide();
 });</ClientEvent> <Property name="caption">ç¡®å®ä¿å</Property> <Property name="iconClass">fa fa-check-circle</Property> <Property name="exClassName">btn1</Property> <Property name="width">120</Property> </Button> <Button> <ClientEvent name="onClick">self.get("parent").close();</ClientEvent> <Property name="caption">åæ¶æä½</Property> <Property name="exClassName">btn3</Property> <Property name="iconClass">fa fa-times-circle</Property> <Property name="width">120</Property> </Button> </Buttons> <Children> <FieldSet layout="padding:5"> <Property name="caption">åºæ¬ä¿¡æ¯</Property> <Buttons/> <Children> <AutoForm> <Property name="dataSet">dsMain</Property> <Property name="cols">*,*,*</Property> <Property name="labelAlign">right</Property> <Property name="labelSeparator">ï¼</Property> <Property name="labelWidth">100</Property> <AutoFormElement> <Property name="name">id</Property> <Property name="property">id</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">plateNum</Property> <Property name="property">plateNum</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">depotId</Property> <Property name="property">depotId</Property> <Property name="readOnly">true</Property> <Property name="label">è£ å¸ä»åº</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">foodVariety</Property> <Property name="property">foodVariety</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">perWet</Property> <Property name="property">perWet</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">perImpurity</Property> <Property name="property">perImpurity</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">foodLocation</Property> <Property name="property">foodLocation</Property> <Property name="trigger">ddDicArea</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="label">客æ·åç§°</Property> <Property name="property">customerName</Property> <Property name="editable">false</Property> <Property name="trigger">ddNotice</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> </AutoForm> </Children> </FieldSet> <FieldSet layout="padding:5"> <Property name="caption">ééä¿¡æ¯ï¼åä½ï¼KGï¼</Property> <Buttons/> <Children> <AutoForm> <Property name="dataSet">dsMain</Property> <Property name="cols">*,50,*,50,*,50</Property> <Property name="labelAlign">right</Property> <Property name="labelWidth">100</Property> <Property name="labelSeparator">ï¼</Property> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">fullWeight</Property> <Property name="property">fullWeight</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">emptyWeight</Property> <Property name="property">emptyWeight</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">netWeight</Property> <Property name="property">netWeight</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">deOther</Property> <Property name="property">deOther</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">settleWeight</Property> <Property name="property">settleWeight</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> </AutoForm> </Children> </FieldSet> <FieldSet layout="padding:5"> <Property name="caption">ç»ç®ä¿¡æ¯</Property> <Buttons/> <Children> <AutoForm> <Property name="dataSet">dsMain</Property> <Property name="cols">*,*,*</Property> <Property name="labelAlign">right</Property> <Property name="labelSeparator">ï¼</Property> <Property name="labelWidth">100</Property> <AutoFormElement> <ClientEvent name="onBlur">payMoney();</ClientEvent> <Property name="name">price</Property> <Property name="property">price</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">settleMoney</Property> <Property name="property">settleMoney</Property> <Property name="readOnly">true</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">settleTime</Property> <Property name="property">settleTime</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:3"> <Property name="name">remarks</Property> <Property name="property">remarks</Property> <Editor/> </AutoFormElement> </AutoForm> </Children> </FieldSet> </Children> <Tools/> </Dialog> <UpdateAction id="uaSave"> <Property name="dataResolver">inoutSettlePR#saveSettle</Property> <UpdateItem> <Property name="dataSet">dsMain</Property> <Property name="dataPath">[#current]</Property> <Property name="validateData">false</Property> </UpdateItem> </UpdateAction> <AjaxAction id="ajaxPrint"> <Property name="service">inoutSettlePR#printPay</Property> <Property name="executingMessage">æ£å¨æ§è¡æå°â¦â¦</Property> <Property name="async">false</Property> </AjaxAction> <CustomDropDown id="ddNotice"> <Property name="minHeight">400</Property> <Property name="assignmentMap">noticeId=id,customerName=customerName</Property> <Property name="minWidth">1000</Property> <Property name="autoOpen">true</Property> <Container layout="regionPadding:5"> <DataSet id="dsNotice"> <Property name="dataProvider">inoutNoticePR#queryNoticeByKey</Property> <Property name="parameter"> <Entity> <Property name="type">${request.getParameter('type')}</Property> </Entity> </Property> <Property name="dataType">[dtNoticeDto]</Property> </DataSet> <Container layout="hbox regionPadding:5"> <TextEditor id="key3"> <Property name="blankText"> -- 客æ·åç§°æç¼ç --</Property> <Property name="width">200</Property> </TextEditor> <Button> <ClientEvent name="onClick">var key = view.get("#key3.value");
 var type = "${request.getParameter('type')}";
 view.get("#dsNotice").set("parameter",{key: key,type: type}).flushAsync();</ClientEvent> <Property name="caption">æ¥è¯¢</Property> <Property name="exClassName">btn1</Property> <Property name="iconClass">fa fa-search</Property> </Button> <Button> <ClientEvent name="onClick">var data = view.get("#dsNotice.data:#");
 if(data){
 view.get("#ddNotice").close(data.toJSON());
 }</ClientEvent> <Property name="iconClass">fa fa-check</Property> <Property name="exClassName">btn2</Property> <Property name="caption">ç¡®å®</Property> </Button> </Container> <DataGrid> <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsNotice.data:#");
 if(data){
 view.get("#ddNotice").close(data.toJSON());
 }</ClientEvent> <Property name="dataSet">dsNotice</Property> <Property name="readOnly">true</Property> <DataColumn name="name"> <Property name="property">name</Property> <Property name="align">center</Property> <Property name="width">100</Property> </DataColumn> <DataColumn> <Property name="property">customerName</Property> <Property name="align">center</Property> <Property name="name">customerName</Property> <Property name="width">240</Property> </DataColumn> <DataColumn name="foodVariety"> <Property name="property">foodVariety</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="year"> <Property name="property">year</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="contract"> <Property name="property">contract</Property> <Property name="align">center</Property> <Property name="width">300</Property> </DataColumn> </DataGrid> </Container> </CustomDropDown> <CustomDropDown id="ddDicArea"> <Property name="minHeight">500</Property> <Property name="minWidth">500</Property> <Property name="assignmentMap">foodLocation=name,foodLocationId=code</Property> <Container layout="regionPadding:5"> <DataSet id="dsDicArea"> <Property name="dataProvider">dicAreaPR#pageList</Property> <Property name="parameter"></Property> <Property name="dataType">[dtArea]</Property> <Property name="pageSize">1000</Property> </DataSet> <Container layout="hbox regionPadding:5"> <TextEditor id="key2"> <Property name="blankText"> -åç§°æç®æ¼ï¼åäº¬å¸ bjs -</Property> <Property name="width">200</Property> </TextEditor> <Button> <ClientEvent name="onClick">var key = view.get("#key2.value");
 view.get("#dsDicArea").set("parameter",{key:key}).flushAsync();</ClientEvent> <Property name="caption">æ¥è¯¢</Property> <Property name="iconClass">fa fa-search</Property> <Property name="exClassName">btn1</Property> </Button> <Button> <ClientEvent name="onClick">var data = view.get("#dsDicArea.data:#");
 if(data){
 view.get("#ddDicArea").close(data.toJSON());
 }</ClientEvent> <Property name="iconClass">fa fa-check</Property> <Property name="exClassName">btn2</Property> <Property name="caption">ç¡®å®</Property> </Button> </Container> <DataGrid> <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsDicArea.data:#");
 if(data){
 view.get("#ddDicArea").close(data.toJSON());
 }</ClientEvent> <Property name="dataSet">dsDicArea</Property> <Property name="readOnly">true</Property> <DataColumn name="name"> <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 arg.processDefault = true;</ClientEvent> <Property name="property">name</Property> <Property name="readOnly">true</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="code"> <Property name="property">code</Property> <Property name="readOnly">true</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="simple"> <Property name="property">simple</Property> <Property name="readOnly">true</Property> <Property name="align">center</Property> </DataColumn> </DataGrid> <DataPilot layoutConstraint="bottom"> <Property name="dataSet">dsDicArea</Property> </DataPilot> </Container> </CustomDropDown> <YearDropDown id="yearDropDown"/> </View> </ViewConfig> fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSettlePR.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,83 @@ package com.fzzy.igds; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.annotation.DataResolver; import com.bstek.dorado.annotation.Expose; import com.bstek.dorado.data.provider.Page; import com.fzzy.igds.constant.Constant; import com.fzzy.igds.data.InoutParam; import com.fzzy.igds.domain.InoutRecord; import com.fzzy.igds.service.InoutRecordService; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Date; /** * @Description åºå ¥åºç»ç® * @Author CZT * @Date 2025/12/8 10:24 */ @Component public class InoutSettlePR { @Resource private InoutRecordService inoutRecordService; /** * æ¥è¯¢å¾ ç»ç®çæ°æ® * inoutSettlePR#pageInoutSettleData * * @param page * @param param */ @DataProvider public void pageInoutSettleData(Page<InoutRecord> page, InoutParam param) { com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutRecord> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize()); if(null == param) { param = new InoutParam(); } inoutRecordService.listPageInout(corePage, param); // éæ°å°è£ page.setEntities(corePage.getRecords()); page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal()))); } /** * ä¿®æ¹æ°æ® inoutSettlePR#saveSettle */ @DataResolver public String saveSettle(InoutRecord data) { if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) { return "ç³»ç»ï¼å·²ç»å é¤çæ°æ®ä¸æ¯æä¿®æ¹ï¼"; } if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) { return "ç³»ç»ï¼æªç»ææµç¨çæ°æ®ä¸æ¯æä¿®æ¹ï¼"; } if(data.getSettleMoney() > 0){ data.setSettleTag(Constant.YN_Y); data.setSettleTime(new Date()); } int i = inoutRecordService.updateInoutRecord(data); if (i > 0) { return null; } else { return "ä¿å失败ï¼"; } } /** * inoutDataPR#printPay è·åç»ç®æå°åä¿¡æ¯ * * @param data * @return */ @Expose public String printPay(InoutRecord data) { return inoutRecordService.printPay(data); } } fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChange.view.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,1203 @@ <?xml version="1.0" encoding="UTF-8"?> <ViewConfig> <Arguments/> <Context/> <Model> <DataType name="dtSecCameraParam"> <Property name="creationType">com.fzzy.igds.domain.Camera</Property> <PropertyDef name="name"> <Property></Property> <Property name="label">çæ§åç§°</Property> </PropertyDef> <PropertyDef name="brand"> <Property></Property> <Property name="label">çæ§åç</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("CAMERA_BRAND")}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> </PropertyDef> <PropertyDef name="spjklx"> <Property></Property> <Property name="label">ä¸å¡ç±»å</Property> <Property name="mapping"> <Property name="keyProperty">key</Property> <Property name="valueProperty">value</Property> <Property name="mapValues"> <Collection> <Entity> <Property name="key">1</Property> <Property name="value">1-ä»å </Property> </Entity> <Entity> <Property name="key">2</Property> <Property name="value">2-ä¸å¡ç±»</Property> </Entity> <Entity> <Property name="key">3</Property> <Property name="value">3-å®é²ç±»</Property> </Entity> </Collection> </Property> </Property> </PropertyDef> <PropertyDef name="spdwlx"> <Property></Property> <Property name="label">ç¹ä½ç±»å</Property> <Property name="mapping"> <Property name="keyProperty">key</Property> <Property name="valueProperty">value</Property> <Property name="mapValues"> <Collection> <Entity> <Property name="key">1</Property> <Property name="value">1-åºå ¥å£</Property> </Entity> <Entity> <Property name="key">2</Property> <Property name="value">2-æ¦æ ·æº</Property> </Entity> <Entity> <Property name="key">3</Property> <Property name="value">3-åéªå®¤</Property> </Entity> <Entity> <Property name="key">4</Property> <Property name="value">4-ç»ç®å®¤</Property> </Entity> <Entity> <Property name="key">5</Property> <Property name="value">5-å°ç£ 室</Property> </Entity> <Entity> <Property name="key">6</Property> <Property name="value">6-åºåºä¸»å¹²é</Property> </Entity> <Entity> <Property name="key">7</Property> <Property name="value">7-ä»é´çæ§</Property> </Entity> <Entity> <Property name="key">8</Property> <Property name="value">8-ä»å </Property> </Entity> <Entity> <Property name="key">9</Property> <Property name="value">9-è¯åæ¿å å¤</Property> </Entity> <Entity> <Property name="key">10</Property> <Property name="value">10-卿室å å¤</Property> </Entity> <Entity> <Property name="key">11</Property> <Property name="value">11-å¶é«ç¹</Property> </Entity> <Entity> <Property name="key">12</Property> <Property name="value">12-æ²¹åºç½åº</Property> </Entity> <Entity> <Property name="key">13</Property> <Property name="value">13-æ¶å油设å¤</Property> </Entity> <Entity> <Property name="key">14</Property> <Property name="value">14-æ³µæ¿</Property> </Entity> <Entity> <Property name="key">15</Property> <Property name="value">15-æ²¹åºä¸»è¦è¾é管é</Property> </Entity> <Entity> <Property name="key">16</Property> <Property name="value">16-å¨ç</Property> </Entity> </Collection> </Property> </Property> </PropertyDef> </DataType> <DataType name="dtSecCamera"> <Property name="creationType">com.fzzy.igds.domain.Camera</Property> <PropertyDef name="id"> <Property></Property> <Property name="label">çæ§ç¼ç </Property> </PropertyDef> <PropertyDef name="companyId"> <Property></Property> <Property name="label">ç»ç»ç¼ç </Property> </PropertyDef> <PropertyDef name="deptId"> <Property></Property> <Property name="label">æå±åºåº</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property> <Property name="keyProperty">id</Property> <Property name="valueProperty">kqmc</Property> </Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="name"> <Property></Property> <Property name="label">çæ§åç§°</Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="type"> <Property></Property> <Property name="label">设å¤ç±»å</Property> <Property name="required">true</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="code">01</Property> <Property name="name">01-æªæº</Property> </Entity> <Entity> <Property name="code">02</Property> <Property name="name">02-çæº</Property> </Entity> <Entity> <Property name="code">03</Property> <Property name="name">03-åç</Property> </Entity> <Entity> <Property name="code">09</Property> <Property name="name">09-å ¶ä»</Property> </Entity> </Collection> </Property> <Property name="keyProperty">code</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="brand"> <Property></Property> <Property name="label">设å¤åç</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("CAMERA_BRAND")}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> </PropertyDef> <PropertyDef name="sn"> <Property></Property> <Property name="label">åºåå·</Property> </PropertyDef> <PropertyDef name="sort"> <Property name="label">é å¥åºå·</Property> <Property name="required">true</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="code">1</Property> <Property name="name">é å¥åºå·#1</Property> </Entity> <Entity> <Property name="code">2</Property> <Property name="name">é å¥åºå·#2</Property> </Entity> </Collection> </Property> <Property name="keyProperty">code</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="playType"> <Property></Property> <Property name="label">ææ¾æ¹å¼</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerPlayType").getResult()}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="loginId"> <Property></Property> <Property name="label">å¸å·</Property> </PropertyDef> <PropertyDef name="pwd"> <Property></Property> <Property name="label">å¯ç </Property> </PropertyDef> <PropertyDef name="ip"> <Property></Property> <Property name="label">IPå°å</Property> </PropertyDef> <PropertyDef name="controlPort"> <Property name="dataType">Integer</Property> <Property name="label">æ§å¶ç«¯å£</Property> <Property name="defaultValue">554</Property> </PropertyDef> <PropertyDef name="webPort"> <Property name="dataType">Integer</Property> <Property name="label">WEB端å£</Property> <Property name="defaultValue">80</Property> </PropertyDef> <PropertyDef name="chanNum"> <Property name="dataType">Integer</Property> <Property name="label">ééå·</Property> <Property name="defaultValue">1</Property> </PropertyDef> <PropertyDef name="urlIn"> <Property></Property> <Property name="label">å ç½å°å</Property> </PropertyDef> <PropertyDef name="urlOut"> <Property></Property> <Property name="label">å¤ç½å°å</Property> </PropertyDef> <PropertyDef name="mediaAddr"> <Property></Property> <Property name="label">RTSPå°å</Property> </PropertyDef> <PropertyDef name="snapType"> <Property></Property> <Property name="label">æææ¹å¼</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerSnapType").getResult()}</Property> <Property name="keyProperty">dictValue</Property> <Property name="valueProperty">dictLabel</Property> </Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="spjklx"> <Property></Property> <Property name="label">ä¸å¡ç±»å</Property> <Property name="mapping"> <Property name="keyProperty">key</Property> <Property name="valueProperty">value</Property> <Property name="mapValues"> <Collection> <Entity> <Property name="key">1</Property> <Property name="value">1-ä»å </Property> </Entity> <Entity> <Property name="key">2</Property> <Property name="value">2-ä¸å¡ç±»</Property> </Entity> <Entity> <Property name="key">3</Property> <Property name="value">3-å®é²ç±»</Property> </Entity> </Collection> </Property> </Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="spdwlx"> <Property></Property> <Property name="label">ç¹ä½ç±»å</Property> <Property name="mapping"> <Property name="keyProperty">key</Property> <Property name="valueProperty">value</Property> <Property name="mapValues"> <Collection> <Entity> <Property name="key">1</Property> <Property name="value">1-åºå ¥å£</Property> </Entity> <Entity> <Property name="key">2</Property> <Property name="value">2-æ¦æ ·æº</Property> </Entity> <Entity> <Property name="key">3</Property> <Property name="value">3-åéªå®¤</Property> </Entity> <Entity> <Property name="key">4</Property> <Property name="value">4-ç»ç®å®¤</Property> </Entity> <Entity> <Property name="key">5</Property> <Property name="value">5-å°ç£ 室</Property> </Entity> <Entity> <Property name="key">6</Property> <Property name="value">6-åºåºä¸»å¹²é</Property> </Entity> <Entity> <Property name="key">7</Property> <Property name="value">7-ä»é´çæ§</Property> </Entity> <Entity> <Property name="key">8</Property> <Property name="value">8-ä»å </Property> </Entity> <Entity> <Property name="key">9</Property> <Property name="value">9-è¯åæ¿å å¤</Property> </Entity> <Entity> <Property name="key">10</Property> <Property name="value">10-卿室å å¤</Property> </Entity> <Entity> <Property name="key">11</Property> <Property name="value">11-å¶é«ç¹</Property> </Entity> <Entity> <Property name="key">12</Property> <Property name="value">12-æ²¹åºç½åº</Property> </Entity> <Entity> <Property name="key">13</Property> <Property name="value">13-æ¶å油设å¤</Property> </Entity> <Entity> <Property name="key">14</Property> <Property name="value">14-æ³µæ¿</Property> </Entity> <Entity> <Property name="key">15</Property> <Property name="value">15-æ²¹åºä¸»è¦è¾é管é</Property> </Entity> <Entity> <Property name="key">16</Property> <Property name="value">16-å¨ç</Property> </Entity> </Collection> </Property> </Property> <Property name="required">true</Property> </PropertyDef> <PropertyDef name="posX"> <Property></Property> <Property name="label">åæ X</Property> <Property name="dataType">Double</Property> </PropertyDef> <PropertyDef name="posY"> <Property></Property> <Property name="label">åæ Y</Property> <Property name="dataType">Double</Property> </PropertyDef> <PropertyDef name="screenShow"> <Property></Property> <Property name="label">大屿¾ç¤º</Property> <Property name="required">false</Property> <Property name="defaultValue">N</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="code">Y</Property> <Property name="name">å±ç¤º</Property> </Entity> <Entity> <Property name="code">N</Property> <Property name="name">ä¸å±ç¤º</Property> </Entity> </Collection> </Property> <Property name="keyProperty">code</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="phoneShowTag"> <Property></Property> <Property name="label">APPæ¾ç¤º</Property> <Property name="defaultValue">N</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="code">Y</Property> <Property name="name">å±ç¤º</Property> </Entity> <Entity> <Property name="code">N</Property> <Property name="name">ä¸å±ç¤º</Property> </Entity> </Collection> </Property> <Property name="keyProperty">code</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="orderNum"> <Property></Property> <Property name="label">æ¾ç¤ºé¡ºåº</Property> <Property name="dataType">Integer</Property> </PropertyDef> <PropertyDef name="vld"> <Property></Property> <Property name="label">æ¯å¦ä½¿ç¨</Property> <Property name="defaultValue">Y</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="code">Y</Property> <Property name="name">å¯ç¨</Property> </Entity> <Entity> <Property name="code">N</Property> <Property name="name">ç¦ç¨</Property> </Entity> </Collection> </Property> <Property name="keyProperty">code</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="remark"> <Property></Property> <Property name="label">夿³¨è¯´æ</Property> </PropertyDef> <PropertyDef name="createTime"> <Property name="dataType">DateTime</Property> <Property name="label">å建æ¶é´</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="createBy"> <Property></Property> <Property name="label">å建人</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="updateTime"> <Property name="dataType">DateTime</Property> <Property name="label">æ´æ°æ¶é´</Property> <Property name="readOnly">true</Property> </PropertyDef> <PropertyDef name="updateBy"> <Property></Property> <Property name="label">æ´æ°äºº</Property> <Property name="readOnly">true</Property> </PropertyDef> </DataType> </Model> <View layout="padding:10"> <ClientEvent name="onClick">
 /**
 * æ¥è¯¢
 */
 query = function(){
 view.get("#dsMain").flushAsync();
 }
 /**
 * 访é®
 */
 showWeb = function(){
 var cur = view.get("#dsMain.data:#");
 if(!cur.get("ip")){
 $alert("没æé 置访é®IPï¼æ æ³è®¿é®ã");
 return;
 }
 if(!cur.get("webPort")){
 $alert("没æé 置访é®ç«¯å£ï¼æ æ³è®¿é®ã");
 return;
 }
 var url = "http://"+cur.get("ip")+":"+cur.get("webPort");
 window.open(url);
 };
 
 /**
 * é¢è§
 */
 showVideo = function(){
 var cur = view.get("#dsMain.data:#");
 var playType = cur.get("playType");
 
 if(!playType){
 $alert("没æé ç½®ææ¾æ¹å¼ï¼æ æ³é¢è§ã");
 return;
 }
 if(!cur.get("ip")){
 $alert("没æé ç½®å é¨è®¿é®IPï¼æ æ³è®¿é®ã");
 return;
 }
 if(!cur.get("controlPort")){
 $alert("没æé ç½®å 鍿§å¶ç«¯å£ï¼æ æ³è®¿é®ã");
 return;
 }
 if(!cur.get("loginId")){
 $alert("没æé ç½®ç¨æ·åï¼æ æ³è®¿é®ã");
 return;
 }
 if (!cur.get("pwd")) {
 $alert("没æé ç½®å¯ç ï¼æ æ³è®¿é®ã");
 return;
 }
 
 var url = "./basic/security/video-play?cameraId="+cur.get("id")+"&playType="+playType+"&time="+ new Date().getTime();
 
 view.get("#iFrameVideo").set("path",url);
 view.get("#dialogVideo").show();
 };
 </ClientEvent> <Property name="packages">font-awesome,css-common</Property> <DataSet id="dsMain"> <Property name="loadMode">lazy</Property> <Property name="dataProvider">secCameraPR#listPageCamera</Property> <Property name="pageSize">20</Property> <Property name="dataType">[dtSecCamera]</Property> </DataSet> <DataSet id="dsParam"> <ClientEvent name="onReady">self.insert({});</ClientEvent> <Property name="dataType">dtSecCameraParam</Property> </DataSet> <Container> <Property name="className">c-param</Property> <AutoForm> <Property name="cols">*,*,*,*,90,90</Property> <Property name="dataSet">dsParam</Property> <Property name="labelAlign">right</Property> <Property name="labelWidth">100</Property> <AutoFormElement> <Property name="name">name</Property> <Property name="property">name</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">brand</Property> <Property name="property">brand</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">spjklx</Property> <Property name="property">spjklx</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">spdwlx</Property> <Property name="property">spdwlx</Property> <Editor/> </AutoFormElement> <Button> <ClientEvent name="onClick">var param = view.get("#dsParam.data");
 view.get("#dsMain").set("parameter",param).flushAsync();</ClientEvent> <Property name="caption">æç´¢</Property> <Property name="iconClass">fa fa-search</Property> <Property name="exClassName">btn-q1</Property> </Button> <Button> <ClientEvent name="onClick">view.get("#dsParam").setData({});</ClientEvent> <Property name="caption">éç½®</Property> <Property name="exClassName">btn-q2</Property> <Property name="iconClass">fa fa-refresh</Property> </Button> </AutoForm> </Container> <Container> <Property name="className">c-data</Property> <ToolBar> <ToolBarButton> <ClientEvent name="onClick">view.get("#dsMain").insert();
 view.get("#dialogMain").show();</ClientEvent> <Property name="caption">æ°å¢</Property> <Property name="exClassName">btn1</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-plus</Property> </ToolBarButton> <ToolBarButton> <ClientEvent name="onClick">var data = view.get("#dataGridCamera").get("selection");
 if(data){
 view.get("#dialogMain").show();
 }else{
 $notify("è¯·éæ©éè¦ä¿®æ¹ççæ§ä¿¡æ¯â¦â¦");
 }</ClientEvent> <Property name="caption">ä¿®æ¹</Property> <Property name="exClassName">btn2</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-pencil-square-o</Property> </ToolBarButton> <ToolBarButton> <ClientEvent name="onClick">var select = view.get("#dataGridCamera").get("selection");
 if(select){
 view.get("#ajaxDel").set("parameter",select).execute(function(result){
 if(result){
 $alert(result);
 }else{
 query();
 }
 }); }else{
 $notify("è¯·éæ©éè¦å é¤ççæ§ä¿¡æ¯â¦â¦");
 }</ClientEvent> <Property name="caption">å é¤</Property> <Property name="exClassName">btn3</Property> <Property name="width">100</Property> <Property name="iconClass">fa fa-times</Property> </ToolBarButton> <ToolBarButton> <Property name="caption">å·æ°ç¼å</Property> <Property name="exClassName">btn4</Property> <Property name="iconClass">fa fa-refresh</Property> <Property name="width">100</Property> <Property name="action">refreshCache</Property> </ToolBarButton> </ToolBar> <DataGrid id="dataGridCamera" layoutConstraint="padding:8"> <ClientEvent name="onDataRowClick">view.get("#dataGridCamera").set("selection",arg.data);</ClientEvent> <Property name="dataSet">dsMain</Property> <Property name="selectionMode">singleRow</Property> <Property name="readOnly">true</Property> <RowSelectorColumn/> <RowNumColumn> <Property name="width">50</Property> </RowNumColumn> <DataColumn name="name"> <Property name="property">name</Property> </DataColumn> <DataColumn name="type"> <Property name="property">type</Property> <Property name="align">center</Property> <Property name="width">90</Property> </DataColumn> <DataColumn name="spjklx"> <Property name="property">spjklx</Property> <Property name="align">center</Property> <Property name="width">90</Property> </DataColumn> <DataColumn name="spdwlx"> <Property name="property">spdwlx</Property> <Property name="align">center</Property> <Property name="width">100</Property> </DataColumn> <DataColumn> <Property name="property">playType</Property> <Property name="align">center</Property> <Property name="name">playType</Property> <Property name="width">160</Property> </DataColumn> <DataColumn> <Property name="property">snapType</Property> <Property name="align">center</Property> <Property name="name">snapType</Property> <Property name="width">160</Property> </DataColumn> <DataColumn name="ip"> <Property name="property">ip</Property> <Property name="align">center</Property> <Property name="width">120</Property> </DataColumn> <DataColumn name="controlPort"> <Property name="property">controlPort</Property> <Property name="align">center</Property> <Property name="width">100</Property> </DataColumn> <DataColumn name="chanNum"> <Property name="property">chanNum</Property> <Property name="align">center</Property> <Property name="width">80</Property> </DataColumn> <DataColumn name="brand"> <Property name="property">brand</Property> <Property name="align">center</Property> <Property name="width">100</Property> </DataColumn> <DataColumn name="updateTime"> <Property name="property">updateTime</Property> <Property name="align">center</Property> <Property name="width">160</Property> </DataColumn> <DataColumn> <ClientEvent name="onRenderCell">arg.dom.innerHTML = "<a href='javascript:;' onClick='showVideo()' class='a-btn1'>é¢è§</a>&nbsp;|&nbsp;<a href='javascript:;' onClick='showWeb()' class='a-btn3'>访é®</a>";</ClientEvent> <Property name="width">160</Property> <Property name="caption">æä½</Property> <Property name="align">center</Property> <Editor/> </DataColumn> </DataGrid> <ToolBar layoutConstraint="bottom"> <Fill/> <DataPilot layoutConstraint="right"> <Property name="itemCodes">pageSize,pages</Property> <Property name="dataSet">dsMain</Property> </DataPilot> </ToolBar> </Container> <Dialog id="dialogMain" layout="regionPadding:8"> <Property name="iconClass">fa fa-tasks</Property> <Property name="width">1200</Property> <Property name="caption">çæ§ä¿¡æ¯</Property> <Property name="closeable">false</Property> <Buttons> <Button> <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 if(data.validate() != 'ok'){
 $notify("æ°æ®æ ¡éªå¤±è´¥ï¼ï¼");
 return;
 }
 view.get("#uaAction").set("parameter",data).execute(function(){
 self.get("parent").hide();
 query();
 });</ClientEvent> <Property name="caption">ä¿å</Property> <Property name="iconClass">fa fa-check-circle</Property> <Property name="exClassName">btn1</Property> <Property name="width">120</Property> </Button> <Button> <ClientEvent name="onClick">var cur = view.get("#dsMain.data:#");
 if(cur) cur.cancel();
 self.get("parent").hide();</ClientEvent> <Property name="caption">åæ¶</Property> <Property name="exClassName">btn3</Property> <Property name="iconClass">fa fa-times-circle</Property> <Property name="width">120</Property> </Button> </Buttons> <Children> <FieldSet layout="padding:5"> <Property name="caption">åºæ¬ä¿¡æ¯</Property> <Buttons/> <Children> <AutoForm> <Property name="dataSet">dsMain</Property> <Property name="cols">*,*,*,*</Property> <Property name="labelWidth">100</Property> <Property name="labelAlign">right</Property> <Property name="labelSeparator">ï¼</Property> <AutoFormElement> <Property name="name">name</Property> <Property name="property">name</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">type</Property> <Property name="property">type</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">brand</Property> <Property name="property">brand</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">deptId</Property> <Property name="property">deptId</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">loginId</Property> <Property name="property">loginId</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">pwd</Property> <Property name="property">pwd</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">chanNum</Property> <Property name="property">chanNum</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">spjklx</Property> <Property name="property">spjklx</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">ip</Property> <Property name="property">ip</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">controlPort</Property> <Property name="property">controlPort</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">webPort</Property> <Property name="property">webPort</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">spdwlx</Property> <Property name="property">spdwlx</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">sort</Property> <Property name="property">sort</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">screenShow</Property> <Property name="property">screenShow</Property> <Editor> <RadioGroup> <RadioButton> <Property name="text">å±ç¤º</Property> <Property name="value">Y</Property> </RadioButton> <RadioButton> <Property name="text">ä¸å±ç¤º</Property> <Property name="value">N</Property> </RadioButton> </RadioGroup> </Editor> </AutoFormElement> <AutoFormElement> <Property name="name">phoneShowTag</Property> <Property name="property">phoneShowTag</Property> <Editor> <RadioGroup> <RadioButton> <Property name="text">å±ç¤º</Property> <Property name="value">Y</Property> </RadioButton> <RadioButton> <Property name="text">ä¸å±ç¤º</Property> <Property name="value">N</Property> </RadioButton> </RadioGroup> </Editor> </AutoFormElement> </AutoForm> </Children> </FieldSet> <FieldSet layout="padding:5"> <Property name="caption">ææ¾é ç½®</Property> <Buttons/> <Children> <AutoForm> <Property name="dataSet">dsMain</Property> <Property name="cols">*,*,*,*,*</Property> <Property name="labelWidth">100</Property> <Property name="labelAlign">right</Property> <Property name="labelSeparator">ï¼</Property> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">playType</Property> <Property name="property">playType</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:3"> <Property name="name">urlIn</Property> <Property name="property">urlIn</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">snapType</Property> <Property name="property">snapType</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:3"> <Property name="name">urlOut</Property> <Property name="property">urlOut</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">sn</Property> <Property name="property">sn</Property> <Editor> <TextEditor id="sn"> <Property name="blankText"> -- æµåªä½å¹³å°ä¸è®¾å¤SN --</Property> </TextEditor> </Editor> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:3"> <Property name="name">mediaAddr</Property> <Property name="property">mediaAddr</Property> <Property name="trigger">triggerMedia</Property> <Editor> <TextEditor id="mediaAddr"> <Property name="blankText"> -- ç¹å»å³ä¾§éæ©ï¼æè æå¨å¡«å --</Property> </TextEditor> </Editor> </AutoFormElement> </AutoForm> </Children> </FieldSet> <FieldSet layout="padding:5"> <Property name="caption">å ¶ä»ä¿¡æ¯</Property> <Buttons/> <Children> <AutoForm> <Property name="dataSet">dsMain</Property> <Property name="cols">*,*,*</Property> <Property name="labelWidth">100</Property> <Property name="labelAlign">right</Property> <Property name="labelSeparator">ï¼</Property> <AutoFormElement> <Property name="name">vld</Property> <Property name="property">vld</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">orderNum</Property> <Property name="property">orderNum</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">updateTime</Property> <Property name="property">updateTime</Property> <Editor/> </AutoFormElement> <AutoFormElement layoutConstraint="colSpan:2"> <Property name="name">remark</Property> <Property name="property">remark</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">createBy</Property> <Property name="property">createBy</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">createTime</Property> <Property name="property">createTime</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">updateBy</Property> <Property name="property">updateBy</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">updateTime</Property> <Property name="property">updateTime</Property> <Editor/> </AutoFormElement> </AutoForm> </Children> </FieldSet> </Children> <Tools/> </Dialog> <UpdateAction id="uaAction"> <Property name="dataResolver">secCameraPR#saveCamera</Property> <UpdateItem> <Property name="dataSet">dsMain</Property> <Property name="dataPath">[#current]</Property> </UpdateItem> </UpdateAction> <AjaxAction id="ajaxDel"> <Property name="confirmMessage">ç¡®å®è¦å é¤åï¼</Property> <Property name="service">secCameraPR#delCamera</Property> </AjaxAction> <Dialog id="dialogVideo"> <Property name="width">1320</Property> <Property name="caption">è§é¢é¢è§</Property> <Property name="contentOverflow">hidden</Property> <Property name="height">620</Property> <Buttons/> <Children> <IFrame id="iFrameVideo" layoutConstraint="center"/> </Children> <Tools/> </Dialog> <AjaxAction id="refreshCache"> <Property name="service">secCameraPR#refreshCache</Property> <Property name="successMessage">ç¼åæ´æ°æåï¼</Property> </AjaxAction> <Trigger id="triggerMedia"> <ClientEvent name="onExecute">view.get("#dialogMeidaSelect").show();
 </ClientEvent> </Trigger> <Dialog id="dialogMeidaSelect" layout="vbox padding:10"> <Property name="width">650</Property> <Property name="caption">æµåªä½å°åéæ©</Property> <Buttons/> <Children> <Container> <Label> <Property name="text">海康RTSPï¼æ§ç-ä¸»ç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text1"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/h264/ch{4}/main/av_stream</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text1.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">海康RTSPï¼æ§ç-åç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text2"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/mpeg4/ch{4}/sub/av_stream</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text2.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">海康RTSPï¼æ°ç-ä¸»ç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text3"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/Streaming/Channels/{4}01</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text3.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">海康RTSPï¼æ°ç-åç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text4"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/Streaming/Channels/{4}02</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text4.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">大åRTSPï¼ä¸»ç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text5"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/cam/realmonitor?channel={4}&subtype=0</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text5.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">大åRTSPï¼è¾ ç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text6"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/cam/realmonitor?channel={4}&subtype=1</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text6.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">éè¿RTSPï¼ä¸»ç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text7"> <Property name="text">rtsp://{2}:{3}/user={0}&password={1}&channel={4}&stream=0.sdp?real_stream</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text7.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">éè¿RTSPï¼æ¬¡ç æµï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text8"> <Property name="text">rtsp://{2}:{3}/user={0}&password={1}&channel={4}&stream=1.sdp?real_stream</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text8.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">䏿RTSPï¼é«ç çï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text9"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/onvif/profile2/media.smp</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text9.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">䏿RTSPï¼ä½ç çï¼</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text10"> <Property name="text">rtsp://{0}:{1}@{2}:{3}/onvif/profile3/media.smp</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text10.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> <Container> <Label> <Property name="text">å®è§RTSP</Property> <Property name="style"> <Property name="font-weight">bold</Property> </Property> </Label> <Label id="text11"> <Property name="text">rtsp://{0}:{1}@{2}/media/video1/multicast</Property> </Label> <Button layoutConstraint="right"> <ClientEvent name="onClick">view.get("#mediaAddr").set("text",view.get("#text11.text"));
 view.get("#dialogMeidaSelect").hide();
 </ClientEvent> <Property name="caption">éæ©</Property> <Property name="iconClass">fa fa-check</Property> </Button> </Container> </Children> <Tools/> </Dialog> </View> </ViewConfig> fzzy-igdss-web/src/main/resources/templates/print/pay.html
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ <!DOCTYPE html> <html lang='zh-cn'> <head> <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'> <title>ç»ç®å</title> <style> body {text-align: center;padding: 10px;font-family: 'å®ä½';} .tit {font-size: 24px;flex-grow: 1;text-align: center;} .div-tit {padding-top: 6px;} table {width: 100%;border-right: 1px solid;border-bottom: 1px solid;font-size: 14px;border-collapse: collapse;} table td {border-left: 1px solid;border-top: 1px solid;height: 32px;} .sp1 {width: 33%;float: left;padding-bottom: 5px;} .sp2 {width: 25%;float: left;text-align: center;} .sp3 {width: 16.6%;float: left;text-align: center;} .txt-left {text-align: left;} .txt-center {text-align: center;} .txt-right {text-align: right;} </style> </head> <body> <h1 class='tit'><u>[billTitle]</u></h1> <div class='div-tit'><span class='sp1 txt-left'>åºåºåç§°ï¼[deptId]</span><span class='sp1 txt-center'>åæ®å·:[id]</span><span class='sp1 txt-right'>æå°æ¶é´ï¼[payTime]</span></div> <table cellspacing='0' cellpadding='0'> <tr> <td>客æ·åç§°</td> <td colspan='7'>[customerName]</td> </tr> <tr> <td width='12.5%'>æ¿è¿äºº</td> <td width='37.5%' colspan='3'>[userName]</td> <td width='12.5%'>èç³»çµè¯</td> <td width='37.5%' colspan='3'>[userContact]</td> </tr> <tr> <td>身份è¯å·ç </td> <td colspan='3'>[userId]</td> <td>车çå·</td> <td colspan='3'>[plateNum]</td> </tr> <tr> <td>ä»åº</td> <td colspan='3'>[depotId]</td> <td>ç²®é£åç§°</td> <td colspan='3'>[foodVariety]</td> </tr> <tr> <td>夿³¨</td> <td colspan="7">[remark]</td> </tr> <tr> <td colspan="8">计éä¿¡æ¯</td> </tr> <tr> <td>æ¯é</td> <td colspan='2'>[fullWeight]å ¬æ¤</td> <td>ç®é</td> <td colspan='2'>[emptyWeight]å ¬æ¤</td> <td>æ£é</td> <td colspan='2'>[deOther]å ¬æ¤</td> </tr> <tr> <td colspan="8">ç»ç®ä¿¡æ¯</td> </tr> <tr> <td>åä»·</td> <td colspan='2'>[payPrice]å /å ¬æ¤</td> <td>ç»ç®éé</td> <td colspan='2'>[settleWeight]å ¬æ¤</td> <td>ç»ç®éé¢</td> <td colspan='2'>[payMoney]å </td> </tr> <tr> <td>大åéé¢</td> <td colspan="7">[payMoneyName]</td> </tr> </table> <div class='div-tit'><span class='sp2 txt-left '>ç»ç®åï¼_______</span><span class='sp2 txt-left '>ä¿ç®¡åï¼_______</span><span class='sp2 txt-left '>å®¡æ ¸äººï¼_______</span><span class='sp2 txt-left '>æ¿è¿äººï¼_______</span></div> </body> </html>