fzzy-igdss-core/src/main/java/com/fzzy/igds/bill/InoutBill.java
@@ -11,11 +11,16 @@ * é»è®¤å ¥åºè¿ç£ å */ public static String IN_WEIGHT_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:25%;float:left;text-align:center}</style></head><body><h1 class='tit'>billTitle</h1><div id=\"print_main\"class='div-tit'><span class='sp1'>宿æ¶é´ï¼<a>completeTime</a></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 width='12.5%'>driverName</td><td width='12.5%'>ç²®é£åç§</td><td width='12.5%'>foodVariety</td><td width='12.5%'>è£ å¸ä»åº</td><td width='12.5%'>depotName</td><td width='12.5%'>ç²®é£äº§å°</td><td width='12.5%'>foodLocation</td></tr><tr><td>æ¿è¿è½¦ç</td><td>plateNum</td><td>æ¯é(KG)</td><td>fullWeight</td><td>ç®é(KG)</td><td>emptyWeight</td><td>åé(KG)</td><td>netWeight</td></tr><tr><td>è´¨æ£æ£é(KG)</td><td>deCheck</td><td>è´¨æ£å¢é(KG)</td><td>addCheck</td><td>å¼ä»æ£é(KG)</td><td>deHandle</td><td>å ¶ä»æ£é(KG)</td><td>deOther</td></tr><tr><td>è´¨æ£ç»æ</td><td colspan='3'>checkStatus</td><td>å ¥åºéé(KG)</td><td>recordWeight</td><td>ç»ç®éé(KG)</td><td>settleWeight</td></tr><tr><td>夿³¨</td><td colspan='7'>remark</td></tr></table><div class='div-tit'><span class='sp2'>å¸ç£ åï¼</span><span class='sp2'>çç£ åï¼</span><span class='sp2'>ä¿ç®¡åï¼handleUser</span><span class='sp2'>æ¿è¿äººï¼driverName</span></div></br><div style=\"padding-top: 10px\"><span></span></div></body></html>"; //æ°çå®å¶å ¥åºè¿ç£ å public static String IN_WEIGHT_DEFAULT_NEW = "<!doctypehtml><html lang=zh-cn><meta content=\"text/html;charset=UTF-8\"http-equiv=Content-Type><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-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}.sp2{width:25%;float:left;text-align:center}.no-border td{border:none}.border_right{border-right:1px solid}</style><h1 class=tit>billTitle</h1><table cellpadding=0 cellspacing=0><tr class=no-border><td colspan=2>ç£ åå·ï¼serId<td colspan=2>åä½ï¼KG<td colspan=2>æå°æ¥æï¼printTime<tr><td>车çå·<td>plateNum<td>è´§ç©åç§°<td>foodVariety<td>æå±ä»åº<td class=border_right>depotName<tr><td>æ¯éæ¶é´<td>fullTime<td>æ¯é<td>fullWeight<td>åä»·(å /KG)<td class=border_right>price<tr><td>ç®éæ¶é´<td>emptyTime<td>ç®é<td>emptyWeight<td>ç»ç®éé¢<td class=border_right>settleMoney<tr><td>æ£éï¼æï¼<td><td>åé<td>netWeight<td>客æ·åç§°<td class=border_right>customerName<tr><td>æ°´å<td><td>夿³¨<td class=border_right colspan=3>remark<tr><td>å¶è¡¨äºº<td>createUser<td>叿ºç¾å<td><td>叿ºçµè¯<td class=border_right>userContact</table><div style=padding-top:10px><span></span></div>"; /** * é»è®¤åºåºè¿ç£ å */ public static String OUT_WEIGHT_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}.sp1{width:50%;float:left;padding-bottom:10px}.sp2{width:25%;float:left;text-align:center}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}</style></head><body><h1 class='tit'>billTitle</h1><div class='div-tit'><span class='sp1'>宿æ¶é´ï¼completeTime</span><span class='sp1'>åºåºåå·ï¼serId</span></div><table cellspacing='0'cellpadding='0'><tr><td width='12.5%'>åè´§åä½</td><td colspan='3'width='37.5%'>deptName</td><td width='12.5%'>æ¶è´§åä½</td><td colspan='3'width='37.5%'>customerName</td></tr><tr><td width='12.5%'>æ¿è¿äºº</td><td width='12.5%'>driverName</td><td width='12.5%'>ç²®é£åç§</td><td width='12.5%'>foodVariety</td><td width='12.5%'>åºåºä»åº</td><td width='12.5%'>depotName</td><td width='12.5%'>ç²®é£äº§å°</td><td width='12.5%'>foodLocation</td></tr><tr><td>æ¿è¿è½¦ç</td><td>plateNum</td><td>æ¯é(KG)</td><td>fullWeight</td><td>ç®é(KG)</td><td>emptyWeight</td><td>åé(KG)</td><td>netWeight</td></tr><tr><td>å ¶ä»æ£é(KG)</td><td>deOther</td><td>å¼ä»æ£é(KG)</td><td>deHandle</td><td>åºåºéé(KG)</td><td>recordWeight</td><td>ç»ç®éé(KG)</td><td>settleWeight</td></tr><tr><td>夿³¨</td><td colspan='7'>remark</td></tr></table><div class='div-tit'><span class='sp2'>å¸ç£ åï¼</span><span class='sp2'>çç£ åï¼</span><span class='sp2'>ä¿ç®¡åï¼handleUser</span><span class='sp2'>æ¿è¿äººï¼driverName</span></div><br></body><div style=\"padding-top: 10px\"><span></span></div></html>"; //æ°çå®å¶åºåºè¿ç£ å public static String OUT_WEIGHT_DEFAULT_NEW = "<!doctypehtml><html lang=zh-cn><meta content=\"text/html;charset=UTF-8\"http-equiv=Content-Type><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-bottom:1px solid;font-size:14px}table td{border-left:1px solid;border-top:1px solid;height:38px}.sp1{width:33%;float:left;padding-bottom:10px}.sp2{width:25%;float:left;text-align:center}.no-border td{border:none}.border_right{border-right:1px solid}</style><h1 class=tit>billTitle</h1><table cellpadding=0 cellspacing=0><tr class=no-border><td colspan=2>ç£ åå·ï¼serId<td colspan=2>åä½ï¼KG<td colspan=2>æå°æ¥æï¼printTime<tr><td>车çå·<td>plateNum<td>è´§ç©åç§°<td>foodVariety<td>æå±ä»åº<td class=border_right>depotName<tr><td>æ¯éæ¶é´<td>fullTime<td>æ¯é<td>fullWeight<td>åä»·(å /KG)<td class=border_right>price<tr><td>ç®éæ¶é´<td>emptyTime<td>ç®é<td>emptyWeight<td>ç»ç®éé¢<td class=border_right>settleMoney<tr><td>æ£éï¼æï¼<td><td>åé<td>netWeight<td>客æ·åç§°<td class=border_right>customerName<tr><td>æ°´å<td><td>夿³¨<td class=border_right colspan=3>remark<tr><td>å¶è¡¨äºº<td>createUser<td>叿ºç¾å<td><td>叿ºçµè¯<td class=border_right>userContact</table><div style=padding-top:10px><span></span></div>"; /** * é»è®¤ç»ç®å */ fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutPrintBill.java
@@ -25,9 +25,9 @@ private String registerTime = ""; //宿æ¶é´ private String completeTime = ""; //宿æ¶é´ //æ¯éç§°éæ¶é´ private String fullTime = ""; //宿æ¶é´ //ç®éç§°éæ¶é´ private String emptyTime = ""; //æµæ°´åå· private String serId = ""; @@ -99,6 +99,8 @@ private String remark = ""; //ä¿ç®¡å private String handleUser = ""; //å¶è¡¨äºº private String createUser = ""; } fzzy-igdss-core/src/main/java/com/fzzy/igds/service/EventInfoService.java
@@ -63,8 +63,12 @@ queryWrapper.le("time", param.getEnd()); } //äºä»¶åç§° // if (StringUtils.isNotBlank(param.getName())) { // queryWrapper.like("name", param.getName()); // } //äºä»¶æ ç¾ if (StringUtils.isNotBlank(param.getName())) { queryWrapper.like("name", param.getName()); queryWrapper.like("tags", param.getName()); } queryWrapper.orderByDesc("create_time"); fzzy-igdss-core/src/main/java/com/fzzy/igds/service/FileService.java
@@ -158,6 +158,7 @@ if("TEMPLATE".equals(pathTag)) return getTemplateFilePath(); if("QUANTITY".equals(pathTag)) return getQuantityPath(); if("WORD".equals(pathTag)) return getWordPath(); if("WEIGHTNAP".equals(pathTag)) return getWeightSnapPath(); return getCommonFilePath(); } @@ -179,6 +180,19 @@ * è·åäºä»¶æä»¶è·¯å¾ * @return */ public String getWeightSnapPath() { String basePath = FrameworkConfig.getProfile() + "WEIGHTNAP/" + DateFormatUtils.format(new Date(), "yyyyMM") + "/"; File file = new File(basePath); if (!file.exists()) { file.mkdirs(); } return basePath; } /** * è·åäºä»¶æä»¶è·¯å¾ * @return */ public String getEventFilePath() { String basePath = FrameworkConfig.getProfile() + "EVENT/" + DateFormatUtils.format(new Date(), "yyyyMM") + "/"; File file = new File(basePath); fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -24,7 +24,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateFormatUtils; import org.springframework.beans.BeanUtils; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -137,13 +136,13 @@ queryWrapper.eq("settle_tag", param.getSettleTag()); } if (null != param.getStart()) { queryWrapper.ge("create_time", DateUtil.getCurZero(param.getStart())); queryWrapper.ge("complete_time", DateUtil.getCurZero(param.getStart())); } if (null != param.getEnd()) { queryWrapper.le("create_time", DateUtil.getNextZero(param.getEnd())); queryWrapper.le("complete_time", DateUtil.getNextZero(param.getEnd())); } queryWrapper.ne("record_status", Constant.RECORD_STATUS_DEL); //䏿¯å é¤çååï¼å³æ£å¸¸çåå queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("complete_time"); return queryWrapper; } @@ -688,10 +687,10 @@ public String inWeightBill(InoutRecord data) { // è·åè¡¨åæ°æ® InoutPrintBill bill = this.createBillData(data, "-å ¥åºå"); InoutPrintBill bill = this.createBillData(data, "å ¥åºå"); // è°æ´æ¨¡çæ°æ®å¹¶è¿å String htmlStr = InoutBill.IN_WEIGHT_DEFAULT; String htmlStr = InoutBill.IN_WEIGHT_DEFAULT_NEW; htmlStr = htmlStr.replace("billTitle", bill.getBillTitle()); @@ -749,7 +748,7 @@ htmlStr = htmlStr.replace("handleEnd", ""); htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId()); htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + ""); htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm")); htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); htmlStr = htmlStr.replaceAll("weightUser", bill.getWeightUser() == null ? "" : bill.getWeightUser()); @@ -757,7 +756,7 @@ bill.getHandleUser() == null ? "" : bill.getHandleUser()); htmlStr = htmlStr.replaceAll("keeperName", bill.getKeeperUser() == null ? "" : bill.getKeeperUser()); htmlStr = htmlStr.replaceAll("createUser",ContextUtil.getLoginUserName()); return htmlStr; } @@ -770,10 +769,10 @@ */ public String outWeightBill(InoutRecord data) { // è·åè¡¨åæ°æ® InoutPrintBill bill = this.createBillData(data, "-åºåºå"); InoutPrintBill bill = this.createBillData(data, "åºåºå"); //é»è®¤æ¨¡ç String htmlStr = InoutBill.OUT_WEIGHT_DEFAULT; String htmlStr = InoutBill.OUT_WEIGHT_DEFAULT_NEW; htmlStr = htmlStr.replace("billTitle", bill.getBillTitle()); @@ -822,11 +821,13 @@ htmlStr = htmlStr.replace("handleEnd", ""); htmlStr = htmlStr.replace("noticeId", bill.getNoticeId() == null ? "" : bill.getNoticeId()); htmlStr = htmlStr.replace("phone", data.getUserContact() == null ? "" : data.getUserContact() + ""); htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm")); htmlStr = htmlStr.replace("printTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); htmlStr = htmlStr.replaceAll("weightUser", getValue(bill.getWeightUser())); htmlStr = htmlStr.replace("handleUser", getValue(bill.getHandleUser())); htmlStr = htmlStr.replaceAll("keeperName", getValue(bill.getKeeperUser())); htmlStr = htmlStr.replaceAll("createUser",ContextUtil.getLoginUserName()); return htmlStr; } @@ -862,13 +863,13 @@ data.setRegisterTime(new Date()); } bill.setRegisterTime(DateFormatUtils.format(data.getRegisterTime(), "yyyy-MM-dd HH:mm")); "yyyy-MM-dd HH:mm:ss")); if (null == data.getCompleteTime()) { data.setCompleteTime(new Date()); } bill.setCompleteTime(DateFormatUtils.format(data.getCompleteTime(), "yyyy-MM-dd HH:mm")); "yyyy-MM-dd HH:mm:ss")); bill.setEmptyTime(DateFormatUtils.format(data.getEmptyWeightTime(), "yyyy-MM-dd HH:mm:ss")); @@ -922,7 +923,7 @@ data.setSettleMoney(NumberUtil.keepPrecision(data.getPrice() * data.getRecordWeight(), 2)); } } bill.setSettleMoney(data.getSettleMoney() == null ? "" : data.getSettleMoney() + ""); bill.setSettleMoney(data.getSettleMoney() == null ? "" : String.format("%.2f", data.getSettleMoney())); bill.setRemark(data.getRemarks() == null ? "" : data.getRemarks()); if (Constant.TYPE_IN.equals(data.getType())) { fzzy-igdss-core/src/main/java/com/fzzy/igds/timer/JobWarnService.java
@@ -116,8 +116,8 @@ per = sumMoney / backMoney; if (per > 1.2) { log.error("-----å½ååå={}ä¸è´¨æ¼ä»åº={}åºåæªå°å¾ è¿æ¬¾ç120%ï¼ä¸çæè¿æ¬¾æéå·¥å-----", pledgeContract.getName(), pledgeContract.getDepotNames()); if (per > 1.1) { log.error("-----å½ååå={}ä¸è´¨æ¼ä»åº={}åºåæªå°å¾ è¿æ¬¾ç110%ï¼ä¸çæè¿æ¬¾æéå·¥å-----", pledgeContract.getName(), pledgeContract.getDepotNames()); continue; } fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java
@@ -49,6 +49,8 @@ private ApiV1Service3031 apiV1Service3031; @Resource private ApiV1Service3032 apiV1Service3032; @Resource private ApiV1Service3033 apiV1Service3033; @PostMapping @ResponseBody @@ -93,6 +95,8 @@ return apiV1Service3031.analysis(req, gatewaySer); case ApiV1Constant.API_FUNCTION_3032: return apiV1Service3032.analysis(req, gatewaySer); case ApiV1Constant.API_FUNCTION_3033: return apiV1Service3033.analysis(req, gatewaySer); } return ApiV1Resp.error("æ¥å£ç¼ç <" + functionId + ">ä¸åå¨ï¼è¯·æ ¸æ¥ï¼", req); fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3033.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.fzzy.igds.api.v1.data; import lombok.Data; import java.io.Serializable; /** * @Description * @Author CZT * @Date 2026/1/7 10:21 */ @Data public class Param3033 implements Serializable { private String cameraId; private String cameraName; private String name; private Double weight; private String time; private String tags; private String imgBase64; } fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3033.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,87 @@ package com.fzzy.igds.api.v1.service; import com.alibaba.fastjson.JSONObject; import com.fzzy.igds.api.v1.data.ApiV1Req; import com.fzzy.igds.api.v1.data.ApiV1Resp; import com.fzzy.igds.api.v1.data.Param3033; import com.fzzy.igds.domain.GatewaySer; import com.fzzy.igds.domain.WeighbridgeSnap; import com.fzzy.igds.service.FileService; import com.fzzy.igds.service.WeighbridgeSnapService; import com.fzzy.igds.utils.ContextUtil; import com.ruoyi.common.config.FrameworkConfig; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateUtils; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * @Description AIäºä»¶è§£æ * @Author CZT * @Date 2026/1/7 11:09 */ @Slf4j @Component public class ApiV1Service3033 { @Resource private WeighbridgeSnapService weighbridgeSnapService; @Resource private FileService fileService; /** * @param req * @param gatewaySer * @return */ public ApiV1Resp<Object> analysis(ApiV1Req<Object> req, GatewaySer gatewaySer) throws Exception { //转å为对象 Param3033 param = JSONObject.parseObject(JSONObject.toJSONString(req.getData()), Param3033.class); if (null == param) { return ApiV1Resp.error("ææä¿¡æ¯ä¸ºç©ºï¼ä¸è§£æï¼", req); } step1(param, gatewaySer); return ApiV1Resp.success(null, req); } /** * 弿¥è§£æ * * @param param */ @Async public void step1(Param3033 param, GatewaySer gatewaySer) throws Exception { WeighbridgeSnap info = new WeighbridgeSnap(); info.setId(ContextUtil.generateId()); info.setCompanyId(gatewaySer.getCompanyId()); info.setDeptId(gatewaySer.getDeptId()); info.setSerId(param.getCameraId()); info.setName(param.getName()); info.setWeight(param.getWeight()); info.setTime(DateUtils.parseDate(param.getTime(), "yyyy-MM-dd HH:mm:ss")); info.setTags(param.getTags()); //base64转å为å¾çä¿å String savePath = fileService.getFileSavePath("WEIGHTNAP"); String fileName = ContextUtil.UUID() + ".jpg"; String filePath = savePath + fileName; fileService.baseImg2Disk(filePath, param.getImgBase64()); //设置ä¿åå¾çè·¯å¾ info.setImgName(filePath.replace(FrameworkConfig.getProfile(), "/profile/")); weighbridgeSnapService.addData(info); log.info("è´¨æ¼ç管æ¥å£V1ï¼3033æ¥å£è§£æå®æ"); } } fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/util/ApiV1Constant.java
@@ -36,6 +36,10 @@ * æ¨éåºå ¥åºæå¾æ¥å£ç¼ç */ public static final String API_FUNCTION_3032 = "3032"; /** * å°ç£ çæµæææ¥å£ç¼ç */ public static final String API_FUNCTION_3033 = "3033"; } fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
@@ -17,7 +17,10 @@ import javax.annotation.Resource; import java.text.DecimalFormat; import java.util.*; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; /** * @Description @@ -128,6 +131,7 @@ /** * è·ååºåºå°è£ ä¿¡æ¯ * * @param companyId * @return */ @@ -192,6 +196,7 @@ /** * è·ååºåºä¸çæ§ä¿¡æ¯ * * @param param * @return */ @@ -279,6 +284,7 @@ /** * 大å±é¦é¡µ-åºåºä¿¡æ¯ç»è®¡ * * @param param * @return */ @@ -341,9 +347,18 @@ igdsParam.setStart(DateUtil.getNewByDay(new Date(), -6)); igdsParam.setEnd(DateUtil.getNextZero(new Date())); List<EventInfo> enevtList = eventInfoService.getListByParam(igdsParam); if (null != enevtList && !enevtList.isEmpty()) { deptData.setWarnNum7(enevtList.size()); for (EventInfo eventInfo : enevtList) { List<EventInfo> resultEnevtList = new ArrayList<>(); for (EventInfo info : enevtList) { //彿 ç¾å å« å¡è½¦ï¼ æè å å«å¤§åçè±æåæ¯ï¼ä»£è¡¨æè½¦çï¼æ¶ï¼æ·»å è¿result if (StringUtils.isNotBlank(info.getTags())) { if (info.getTags().contains("å¡è½¦") || info.getTags().matches(".*[A-Z].*")) { resultEnevtList.add(info); } } } if (null != resultEnevtList && !resultEnevtList.isEmpty()) { deptData.setWarnNum7(resultEnevtList.size()); for (EventInfo eventInfo : resultEnevtList) { if(DateFormatUtils.format(new Date(), "yyyyMMdd").equals(DateFormatUtils.format(eventInfo.getTime(), "yyyyMMdd"))){ deptData.setDailyTotal(deptData.getDailyTotal() + 1); } @@ -427,6 +442,7 @@ /** * 大å±é¦é¡µ-ææè·è¸ªä¿¡æ¯ * * @param param * @return */ @@ -436,13 +452,22 @@ param.setEnd(new Date()); List<SnapRecord> listSnap = snapRecordService.getListByParam(param); if (null != listSnap && !listSnap.isEmpty()) { List<SnapRecord> resultListSnap = new ArrayList<>(); for (SnapRecord info : listSnap) { //彿 ç¾å å« å¡è½¦ï¼ æè å å«å¤§åçè±æåæ¯ï¼ä»£è¡¨æè½¦çï¼æ¶ï¼æ·»å è¿result if (StringUtils.isNotBlank(info.getTags())) { if (info.getTags().contains("å¡è½¦") || info.getTags().matches(".*[A-Z].*")) { resultListSnap.add(info); } } } if (null != resultListSnap && !resultListSnap.isEmpty()) { //夿æä»¶æ¯å¦åå¨ for (SnapRecord record : listSnap) { for (SnapRecord record : resultListSnap) { record.setImgName(commonManager.isImgExit( record.getImgName(), null)); } } return new PageResponse<>(RespCodeEnum.CODE_0000, listSnap); return new PageResponse<>(RespCodeEnum.CODE_0000, resultListSnap); } } fzzy-igdss-web/src/main/java/com/fzzy/inout/InoutController.java
@@ -300,6 +300,9 @@ if ("2".equals(viewTag)) { viewStr = prefix + "/weight2"; } if ("3".equals(viewTag)) { viewStr = prefix + "/weight3"; } return viewStr; } fzzy-igdss-web/src/main/resources/static/inout/inout-weight3.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,694 @@ //ç§°é-å æ¬ç©ºè½¦å满车称é var layer; var form; var table; var page = 1; var limit = 10; var recordData = null;// ä¸å¡æ°æ®ä¿¡æ¯ var snapData;//ç³»ç»ææå¯¹è±¡ä¿¡æ¯ var timerWeight; var curProgress = null; $(function () { layui.use(['layer', 'laydate', 'form', 'table', 'util'], function () { layer = layui.layer; form = layui.form; table = layui.table; layui.laydate.render({ elem: '#test1', theme: '#7b8e9f' }); //çå¬éæ©æ°æ®äºä»¶ table.on('tool(tableListProgressData)', function (obj) { var data = obj.data; if (obj.event === 'select') { //æ¸ ç©ºè¡¨å resetForm(); flushData(data.id, null); // $("#listProgressData").css("display", "none"); // layer.closeAll(); } }); //çå¬ä»åºéæ©,éæ©åèªå¨è°ç¨ä»åºçç²®é£åç§ä¿¡æ¯ form.on('select(select_depotId)', function (obj) { updateFoodVarietyByDepot(obj.value); }) selectByHand(); }); //æ¾ç¤ºæµç¨ç¯è updateEditAndProgress(); // çå¬ééåå $(".weight").blur(function () { deAuto(this.name); }); }); window.onload = function () { //èªå¨è¿æ¥å°ç£ ä¿¡æ¯ï¼2.5ç§è·å䏿¬¡å°ç£ ééä¿¡æ¯ clearInterval(timerWeight); timerWeight = setInterval(function () { flushWeight(); }, 2500); // å è½½è§é¢ initVideo(snapDto1, snapDto2, snapDto3); //设置å°ç£ $("#scaleName").val(weightDto.sort); //çå¬å°ç£ éæ© $("#scaleName").change(function () { layer.confirm('è°æ´å°ç£ ééæ°å 载页é¢ï¼ç¡®å®è°æ´ï¼', { btn: ['ç¡®å®', 'åæ¶'] }, function () { updateWeight(); }); }); }; //æ ¹æ®éæ©çä»åºä¿¡æ¯,æ´æ°ç²®é£åç§ function updateFoodVarietyByDepot(selectId) { var selectDepot; $.each(listDepot, function (index, data) { if (data.id === selectId) { selectDepot = data; return false; } }); if (selectDepot) { form.val("form-data", { foodVariety: selectDepot.foodVariety }); form.render(); } } /** * ç§°éåææ */ function weight() { // 妿æ¯ç©ºè½¦ç§°é if (InoutProgress.WEIGHT_EMPTY === curProgress) { form.val("form-data", { emptyWeight: weightDto.weight }); form.render(); } // å¦ææ¯æ»¡è½¦ç§°é if (InoutProgress.WEIGHT_FULL === curProgress) { form.val("form-data", { fullWeight: weightDto.weight }); form.render(); } var data = form.val("form-data"); if (!data.plateNum) { alertError("æç¤ºï¼å¡«åç»è®°è½¦çä¿¡æ¯"); return; } // ç¹å»ç§°éèªå¨è°ç¨ææ snapData = { companyId: companyId, deptId: deptId, progress: curProgress, bizType: type, id1: snapDto1.id, id2: snapDto2.id, id3: snapDto3.id, sort: $("#scaleName").val() }; if (!gatewaySer) { layer.msg("æªè·åå°åºåºç½å ³ä¿¡æ¯ï¼æå¾å¤±è´¥ï¼"); return; } var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.snapUrl; //å½åAJAXæå¡ä¸ºåæ¥æå¡ï¼è¿åæ°æ®å è£ ç §çä¿¡æ¯ var index = layer.load(); $.ajax({ sync: false, type: "POST", url: url, dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(snapData), success: function (result) { layer.close(index); if (result.code != "0000") { alertError(result.msg); } else { layer.msg("æææå"); snapData = result.data; } }, error: function () { layer.close(index); alertError("åå°è°ç¨æªå¾å¤±è´¥ï¼è¯·éæ°å°è¯"); } }); } /** * ç§°éæäº¤ */ function submit() { var data = form.val("form-data"); if (!data.depotId) { alertError("æç¤ºï¼è£ å¸ä»åºå¿ å¡«"); return; } if (!data.customerName) { alertError("æç¤ºï¼éç¥åä¿¡æ¯å¿ å¡«"); return; } if (!data.foodVariety) { alertError("æç¤ºï¼ç²®é£åç§å¿ å¡«"); return; } // æ ¡éª-å ¥åºæ»¡è½¦ç§°é if (InoutProgress.WEIGHT_FULL === curProgress) { if (data.fullWeight <= 0.0) { alertError("æç¤ºï¼æ»¡è½¦ç§°éä¿¡æ¯å¿ å¡«"); return; } } if (InoutProgress.WEIGHT_EMPTY === curProgress) { if (data.emptyWeight <= 0.0) { alertError("æç¤ºï¼ç©ºè½¦ç§°éä¿¡æ¯å¿ å¡«"); return; } } if(recordData){ //åå¹¶æ°æ® Object.assign(recordData, data); }else { recordData = data; } recordData.progress = curProgress; // è·åç §ç var files = [{ fileName: snapData.fileName1 }, { fileName: snapData.fileName2 }, { fileName: snapData.fileName3 }]; recordData.files = files; var index = layer.load(); $.ajax({ type: "POST", url: "/basic/inout/submit-weight", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(recordData), success: function (result) { if (result.code != "0000") { alertError(result.msg); } else { selectByHand(); notify("æ°æ®æäº¤æå", result.data); //ç¬¬ä¸æ¬¡ç§°éåï¼å·æ°é¡µé¢ if (recordData.recordWeight <= 0.0) { resetForm(); } } layer.close(index); }, error: function () { layer.close(index); alertError("æäº¤å¤±è´¥ï¼è¯·éæ°å°è¯"); } }); } /** * ç¹å»æå°ï¼ç³»ç»å¤ææ¯å¦å·²ç»æ§è¡å®æï¼å¦æå·²ç»å®æï¼ç´æ¥æå°ï¼å¦ææªå®æåå æ§è¡å®æ */ function printBill() { if (!recordData) { alertError("没æè·åå°ä¸å¡æ°æ®ï¼æå°è¢«æç»ï¼"); return; } var index = layer.load(); $.ajax({ type: "POST", url: "/basic/print/bill-weight", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(recordData), success: function (result) { layer.close(index); if (result.code != "0000") { alertError(result.msg); } else { layer.msg("å¼å§æ¸²ææå°åâ¦â¦"); printWeight(result.data); } }, error: function () { layer.close(index); alertError("è·åæå°æ¨¡ç失败ï¼è¯·è系管ç忥çåå "); } }); } /** * å°ç£ æ°æ®å·æ° */ function flushWeight() { var ip = "127.0.0.1"; if (weightDto.ip) { ip = weightDto.ip; } var port = "9111"; if (weightDto.port) { port = weightDto.port; } var sn = "WEIGHT"; if (weightDto.sn) { sn = weightDto.sn; } var url = "http://" + ip + ":" + port + "/" + sn; $.ajax({ type: "GET", async: true, timeout: 2000, url: url, data: {}, dataType: "json", success: function (json) { var data = json.content; if (!data) data = 0.0; weightDto.weight = data; $("#weightValue").text(data); $("#img_scale_statule").attr("src", "/img/web/inout/icon-gree.png"); }, error: function () { weightDto.weight = 0.0; $("#weightValue").text("0.0"); $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png"); } }); } /** * 读åèº«ä»½è¯ */ function flushIdCard() { var index = layer.load(); $.ajax({ type: "GET", async: true, url: "http://127.0.0.1:9111/IDCARD", data: {}, dataType: "json", success: function (json) { layer.close(index); var data = json; if (data.code === "200" || data.code == 200) { // 临æ¶èµå¼ $("#userName").val(data.cnName); $("#userAddress").val(data.address); $("#userId").val(data.idNum); } else { alertError("没æè·åå°èº«ä»½è¯ä¿¡æ¯ï¼"); return; } }, error: function () { layer.alert("身份è¯è¯»å失败ï¼", { offset: ['300px', '300px'] }); layer.close(index); } }); } /** * 读å车çå· */ function flushPlateNum() { if (!gatewaySer) { layer.msg("æªè·åå°åºåºç½å ³ä¿¡æ¯ï¼è½¦ç读å失败ï¼"); return; } var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.plateNumUrl; var param = JSON.stringify(snapDto1); var index = layer.load(); $.ajax({ type: "POST", url: url, dataType: "json", contentType: "application/json;charset=UTF-8", data: param, success: function (result) { if (result.code != "0000") { alertError(result.msg); } else { $("#plateNum").val(result.data.plateNum); } layer.close(index); }, error: function () { layer.close(index); alertError("车çè¯å«å¤±è´¥ï¼"); } }); } /** * æå¨éæ©ï¼è·åå¾ ç§°éçæ°æ®ï¼å¼¹åºéæ© */ // function selectByHand() { // var param = { // deptId: deptId, // type: type, // timer: Math.random() // }; // $.ajax({ // type: "POST", // url: "/basic/inout/list-weight-data", // dataType: "json", // contentType: "application/json;charset=UTF-8", // data: JSON.stringify(param), // success: function (result) { // if (result.code != "0000") { // layer.msg(result.msg); // } else { // renderTableProgressData(result.data); // } // }, // error: function () { // layer.msg("ç³»ç»è·åæ°æ®åºç°å¼å¸¸ï¼éæ°å°è¯"); // } // }); // } /** * è¡¨åæ°æ®éç½® */ function resetForm() { $("#form-data")[0].reset(); form.render(); recordData = null; curProgress = null; weightDto.weight = 0.0; $("#weightValue").text("0.0"); $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png"); $("#text-param").val(null); } /** * 页é¢å·æ° */ function flushPage() { layer.confirm('ç¡®å®è¦å·æ°é¡µé¢åï¼', {icon: 3, title: 'æç¤º'}, function (index) { resetForm(); selectByHand(); layer.close(index); }); } /** * æ¥è¯¢æ°æ® * @param id * @param plateNum */ function flushData(id, plateNum) { var index = layer.load(); var param = { type: type, progress: curProgress, id: id, plateNum: plateNum }; $.ajax({ type: "POST", url: "/basic/inout/inout-query", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(param), success: function (result) { layer.close(index); if (result.code != "0000") { notifyProgress(result.msg, result.data); } else { recordData = result.data; curProgress = recordData.progress; // è¿åçæ°æ®è¿è¡èµå¼ form.val("form-data", recordData); form.render(); updateEditAndProgress(); } }, error: function () { layer.close(index); alertError("æ¥è¯¢å¤±è´¥ï¼è¯·éæ°å°è¯"); } }); } /** * æ ¹æ®ä¸å¡æ°æ®æ´æ°é¡µé¢ä¸çç¶æ */ function updateEditAndProgress() { //å½åæµç¨èç¹ if (curProgress == null) { if (type === "IN") { curProgress = "WEIGHT_FULL"; } if (type === "OUT") { curProgress = "WEIGHT_EMPTY"; } } //æ¾ç¤ºå½åæµç¨ if (type === "IN") { $("#rk-progress-register").addClass("active"); if (curProgress === InoutProgress.WEIGHT_FULL) { $("#rk-progress-fullWeight").addClass("active"); $("#rk-progress-hand").removeClass("active"); $("#rk-progress-emptyWeight").removeClass("active"); //满车ééå¯ç¼è¾ $("#fullWeight").removeClass("rkbk-search-input"); $("#fullWeight").attr("disabled", false); //空车ééä¸è½ç¼è¾ $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } if (curProgress === InoutProgress.WEIGHT_EMPTY) { $("#rk-progress-fullWeight").addClass("active"); $("#rk-progress-hand").addClass("active"); $("#rk-progress-emptyWeight").addClass("active"); //满车ééä¸è½ç¼è¾ $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); //空车ééå¯ç¼è¾ $("#emptyWeight").removeClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", false); } } if (type === "OUT") { $("#ck-progress-register").addClass("active"); if (curProgress === InoutProgress.WEIGHT_EMPTY) { $("#ck-progress-emptyWeight").addClass("active"); $("#ck-progress-hand").removeClass("active"); $("#ck-progress-fullWeight").removeClass("active"); //满车ééä¸è½ç¼è¾ $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); //空车ééå¯ç¼è¾ $("#emptyWeight").removeClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", false); } if (curProgress === InoutProgress.WEIGHT_FULL) { $("#ck-progress-emptyWeight").addClass("active"); $("#ck-progress-hand").addClass("active"); $("#ck-progress-fullWeight").addClass("active"); //满车ééå¯ç¼è¾ $("#fullWeight").removeClass("rkbk-search-input"); $("#fullWeight").attr("disabled", false); //空车ééä¸è½ç¼è¾ $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } } //æµç¨æ¾ç¤º if (inoutProgress) { if (inoutProgress.indexOf("REGISTER") === -1) { $("#rk-progress-register").css("display", "none"); $("#ck-progress-register").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_FULL") === -1) { $("#rk-progress-fullWeight").css("display", "none"); $("#ck-progress-fullWeight").css("display", "none"); } if (inoutProgress.indexOf("HANDLE") === -1) { $("#rk-progress-hand").css("display", "none"); $("#ck-progress-hand").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_EMPTY") === -1) { $("#rk-progress-emptyWeight").css("display", "none"); $("#ck-progress-emptyWeight").css("display", "none"); } if (inoutProgress.indexOf("CARD_BACK") === -1) { $("#rk-progress-cardBack").css("display", "none"); $("#ck-progress-cardBack").css("display", "none"); } if (type === "IN") { $("#rk_progress").css("display", "block"); $("#ck_progress").css("display", "none"); } if (type === "OUT") { $("#ck_progress").css("display", "block"); $("#rk_progress").css("display", "none"); } } //æ ¹æ®é 置信æ¯è®¾ç½®å°ç£ æ¯å¦å¯ç¼è¾ if (weightEditTag && weightEditTag == 'N') { $("#fullWeight").addClass("rkbk-search-input"); $("#fullWeight").attr("disabled", true); $("#emptyWeight").addClass("rkbk-search-input"); $("#emptyWeight").attr("disabled", true); } } /** * å¼¹åºæéæ¡ * @param msg æéä¿¡æ¯ * @param data æ°æ®ä¿¡æ¯ï¼å¯è½ä¸ºç©º */ function notify(msg, data) { if (data) { //èµå¼ $("#resultMsg").text(msg); $("#resultUserName").text(data.userName); $("#resultPlateNum").text(data.plateNum); if ("IN" == data.type) { $("#resultType").text("å ¥åº-" + INOUT_PROGRESS_MSG(data.progress)); } else { $("#resultType").text("åºåº-" + INOUT_PROGRESS_MSG(data.progress)); } $("#resultIntelCard").text(data.intelCard); layer.open({ type: 1, offset: ['150px', '200px'], area: '450px;', shade: 0.8, id: 'dialog_notify_info', btn: ['ç¡®å®'], content: $('#dialog-from-notify'), yes: function (index) { layer.closeAll(); } }); } else { layer.alert(msg, {offset: ['300px', '300px']}); } } /** * 车è¾éæ©å¼¹çª * @param list */ function selectByHand() { var param = { deptId: deptId, type: type, timer: Math.random() }; // æ¸ ç©ºæ°æ® $("#tableListProgressData").empty(); table.render({ elem: '#tableListProgressData', url: '/basic/inout/page-inout-data', page: false, limit: 1000, even: true, method: 'POST', contentType: "application/json;charset=UTF-8", cols: [[ { type: 'numbers', title: 'åºå·', width: '15%' }, { field: 'id', title: 'åæ®å·', align: 'center', width: '25%' }, { field: 'userName', title: 'æ¿è¿äºº', align: 'center', width: '15%' }, { field: 'plateNum', title: '车çå·', align: 'center', width: '15%' }, { field: 'progress', title: 'ç¶æ', align: 'center', width: '15%', style: 'font-weight: bold', templet: function (item) { return INOUT_PROGRESS_MSG(item.progress); } }, { fixed: 'right', title: 'éæ©è½¦è¾', align: 'center', width: '15%', toolbar: '#barSelectProgress' } ]], where: param, parseData: function (res) { if ("0000" === res.code) { return { "code": "0", "msg": res.msg, "count": res.data.total, "data": res.data.records } } else { return { "code": "1", "msg": res.msg } } } }); $("thead tr").css({ "border-bottom": "2px solid #53adce", "background": "#eff4f6" }); } fzzy-igdss-web/src/main/resources/static/ruoyi/css/ry-ui.css
@@ -4,6 +4,15 @@ */ /** åºç¡éç¨ **/ /* ç¦ç¨ dropdown çæ¬åææ */ .dropdown:hover .dropdown-menu { display: none !important; } .dropdown.open .dropdown-menu { display: block !important; } .pt5 { padding-top: 5px; } fzzy-igdss-web/src/main/resources/templates/group/index.html
@@ -458,9 +458,9 @@ <script th:src="@{/common/igds-common.js}"></script> <script th:src="@{/group/mapList.js}"></script> <script th:src="@{/group/index.js}"></script> <script th:inline="javascript"> var userId = [[${loginUser.loginName}]]; <script th:inline="javascript"> var userId = [[${loginUser.loginName}]]; var companyId = [[${loginUser.companyId}]]; var deptId = [[${deptId}]]; var dicSlogan = [[${dicSlogan}]]; var deptAllList = [[${deptAllList}]]; fzzy-igdss-web/src/main/resources/templates/index-static.html
@@ -229,7 +229,7 @@ <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="å ¨å±æ¾ç¤º" href="javascript:;" id="fullScreen"><i class="fa fa-arrows-alt"></i> å ¨å±</a></li> <li class="dropdown user-menu"> <a href="javascript:void(0)" class="dropdown-toggle" data-hover="dropdown"> <a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <img src="../static/img/profile.jpg" class="user-image"> <span class="hidden-xs">管çå</span> </a> fzzy-igdss-web/src/main/resources/templates/index-topnav.html
@@ -285,7 +285,7 @@ href="javascript:;" id="fullScreen"><i class="fa fa-arrows-alt"></i> å ¨å±</a></li> <li class="dropdown user-menu"> <a href="javascript:void(0)" class="dropdown-toggle" data-hover="dropdown"> <a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="this.src='img/profile.jpg'" class="user-image"> <span class="hidden-xs">[[${#strings.defaultString(user.userName, '-')}]]</span> fzzy-igdss-web/src/main/resources/templates/index.html
@@ -124,7 +124,7 @@ <li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="å ¨å±æ¾ç¤º" href="javascript:;" id="fullScreen"><i class="fa fa-arrows-alt"></i> å ¨å±</a></li> <li class="dropdown user-menu"> <a href="javascript:void(0)" class="dropdown-toggle" data-hover="dropdown"> <a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="this.src='img/profile.jpg'" class="user-image"> <span class="hidden-xs">[[${#strings.defaultString(user.userName, '-')}]]</span> fzzy-igdss-web/src/main/resources/templates/inout/weight3.html
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,834 @@ <!DOCTYPE html> <html lang="zh-cn" xmlns:th=http://www.thymeleaf.org> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="renderer" content="webkit"> <title>åºå ¥åºç®¡ç-å ¥åºç§°é</title> <link rel="stylesheet" type="text/css" th:href="@{/ajax/libs/layui/css/layui.css}"/> <link rel="stylesheet" type="text/css" th:href="@{/inout/inout-style.css}"> <!--ä½¿ç¨æå°æä»¶ éèå½åæä»¶ --> <script th:src="@{/js/plugins/lodop/LodopFuncs.js}"></script> <style> .kccz-r-btnbox { width: 86px !important; } .layui-table-body { max-height: 400px; } .kccz-r-btn { width: 86px !important; } #text-param { font-size: 14px; color: red; padding-left: 10px; } .display-none { display: none; } .cursor { cursor: pointer; } .kccz-czxx-dl dt { width: 25px; height: 24px; color: #000; font-size: 18px; } .kccz-left-box2 { height: 570px; } .color-red { color: red !important; } .layui-table td { font-weight: bold; } .layui-select-disabled .layui-disabled { color: #000 !important; } .depot-food input { line-height: 34px; padding-right: 10px; font-size: 16px; color: #666; background: #eff4f6; } .rk-step-wrap { padding: 0px; border-bottom: 0px; text-align: center; } .rkbk-quick { margin-top: 15px !important; } .kccz-con { margin: 10px 0px; } .border-no { border: 0px; } .qyzj-btnbox { margin-top: 10px; } .kccz-data-btnbox { min-height: 38px; padding-top: 2px; } .layui-layer-title { font-weight: bold; } .rkbk-search-btn { width: 100px; height: 30px; line-height: 30px; font-size: 16px; } .r-360 { right: 360px; } .r-240 { right: 240px; } .r-120 { right: 120px; } .rkbk-search-input { background: #e7eaec !important; } #scaleName { width: 130px; height: 28px; } .layui-table, .layui-table-view { margin: 0 0; } .layui-table-body { max-height: 430px; } .video { width: 100%; height: 100%; } .layui-form-radio { margin: unset; margin-top: 5px; padding-right: unset; } .rk-step li { width: 60px; height: 40px; display: inline-block; margin: 0 20px; position: relative; } .kccz-r-con { height: 160px; position: relative; } .kccz-r-vedio { width: 100%; height: 100%; background: #5f5f5f; } .kccz-r-item { height: 210px; width: 33.333%; float: left; background: unset; } .kccz-left { width: 52%; } .kccz-right { width: 47.4%; } .kccz-r-box { padding: 0 5px; } .rkbk-quick-btn { height: 55px; min-width: 100px; display: inline-block; line-height: 40px; font-size: 20px; margin-top: -15px; } </style> </head> <body> <div class="l-container layui-clear"> <div class="rk-main"> <div class="qyzj-btnbox layui-clear"> <div class="rkbk-quick fl"> <button id="btn-weight" class="rkbk-quick-btn layui-btn btn-blue" onclick="weight()"> <i><img th:src="@{/img/web/inout/icon-chengzhong.png}"/></i>æ¥éª¤1ï¼ç§°é </button> <button id="btn-submit" class="rkbk-quick-btn layui-btn btn-green" onclick="submit()"> <i><img th:src="@{/img/web/inout/icon-ok.png}"/></i>æ¥éª¤2ï¼æäº¤ </button> <button id="btn-printBill" class="rkbk-quick-btn layui-btn btn-blue" onclick="printBill()"> <i><img th:src="@{/img/web/inout/icon-dayin.png}"/></i>æå°ç£ å </button> <button class="rkbk-quick-btn layui-btn btn-violet" onclick="flushPage()"> <i><img th:src="@{/img/web/inout/icon-shuaxin2.png}"/></i>å·æ°é¡µé¢ </button> </div> <!-- æµç¨å¼å¯¼ --> <div class="rk-step-wrap fr"> <ul class="rk-step" id="rk_progress" style="display: none;"> <li id="rk-progress-register" class="rk-step-first"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-dengji.png}"/> </span> <p>å ¥åºç»è®°</p> </li> <li id="rk-progress-fullWeight"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-chengzhong.png}"/> </span> <p>满车称é</p> </li> <li id="rk-progress-hand"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-xiehuo.png}"/> </span> <p>å ¥åºå¼ä»</p> </li> <li id="rk-progress-emptyWeight"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-chengzhong.png}"/> </span> <p>空车称é</p> </li> <li id="rk-progress-cardBack"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-banli.png}"/> </span> <p>离åºç¡®è®¤</p> </li> </ul> <ul class="rk-step" id="ck_progress" style="display: none;"> <li id="ck-progress-register" class="rk-step-first"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-dengji.png}"/> </span> <p>åºåºç»è®°</p> </li> <li id="ck-progress-emptyWeight"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-chengzhong.png}"/> </span> <p>空车称é</p> </li> <li id="ck-progress-hand"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-xiehuo.png}"/> </span> <p>åºåºå¼ä»</p> </li> <li id="ck-progress-fullWeight"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-chengzhong.png}"/> </span> <p>满车称é</p> </li> <li id="ck-progress-cardBack"> <span class="rk-step-span"> <img th:src="@{/img/web/inout/icon-banli.png}"/> </span> <p>离åºç¡®è®¤</p> </li> </ul> </div> <!-- æµç¨å¼å¯¼EDN --> </div> <div class="kccz-con"> <div class="kccz-left fl"> <div class="kccz-left-box1 radius-6"> <div class="rkbk-tit"> <i></i> <div> <h3 style="width: 150px; float: left;">ç§°éä¿¡æ¯</h3> <div style="float: right;"> <div class="kccz-czxx-left fl"> <div class="layui-form-item"> <label class="layui-form-label">å½åå°ç£ </label> <div class="layui-input-block"> <select name="depotId" id="scaleName" lay-filter="select_scaleName"> <option th:each="dto,weightSet:${listWeight}" th:value="${dto.sort}" th:text="${dto.name}"></option> </select> </div> </div> </div> <div class="kccz-czxx-right fr"> <dl class="kccz-czxx-dl" style="padding-left: 15px;"> <dt> <i><img id="img_scale_statule" th:src="@{/img/web/inout/icon-red.png}"/></i> </dt> </dl> </div> </div> </div> </div> <div class="kccz-czxx-wrap"> <div class="kccz-czxx-num"> <span id="weightValue">0.00</span><em>KG</em> </div> </div> <!--kccz-czxx-wrap end--> </div> <!--kccz-left-box1 end--> <div class="kccz-left-box2 mt-10 radius-6"> <div class="rkbk-tit"> <i></i> <h3>ä¸å¡æ°æ®<span id="text-param"></span></h3> </div> <div class="kccz-data-form layui-row"> <form class="layui-form" action="" id="form-data" lay-filter="form-data"> <div class="layui-form-item display-none"> <label class="layui-form-label">éè-åæ®å·</label> <div class="layui-input-block"> <input type="text" name="id" autocomplete="off" class="layui-input rkbk-search-input"> </div> </div> <div class="layui-form-item display-none"> <label class="layui-form-label">éè-æµç¨èç¹</label> <div class="layui-input-block"> <input type="text" name="progress" autocomplete="off" class="layui-input rkbk-search-input"> </div> </div> <div class="layui-form-item display-none"> <label class="layui-form-label">éè-éç¥åå·</label> <div class="layui-input-block"> <input type="text" name="noticeId" autocomplete="off" class="layui-input rkbk-search-input"> </div> </div> <div class="layui-form-item display-none"> <label class="layui-form-label">éè-产å°</label> <div class="layui-input-block"> <input type="text" name="foodLocationId" autocomplete="off" class="layui-input rkbk-search-input"> </div> </div> <div class="layui-form-item display-none"> <label class="layui-form-label">éè-ç±»å</label> <div class="layui-input-block"> <input type="text" name="type" th:value="${type}" autocomplete="off" class="layui-input rkbk-search-input"> </div> </div> <div class="layui-col-xs8"> <div class="layui-form-item"> <label class="layui-form-label color-red">éç¥å</label> <div class="layui-input-block"> <input type="text" name="customerName" placeholder="è¯·éæ©" autocomplete="off" class="layui-input" disabled="disabled"> <em class="kccz-data-dw cursor" onclick="showNotice()">â¦â¦</em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label" id="depotIdLabel">è£ å¸ä»åº</label> <div class="layui-input-block"> <select name="depotId" id="depotId" lay-filter="select_depotId"> <option value=""></option> <option th:each="depot,depotSet:${listDepot}" th:value="${depot.id}" th:text="${depot.name}"></option> </select> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label color-red">æ¯é(满车)</label> <div class="layui-input-block"> <input type="text" name="fullWeight" id="fullWeight" autocomplete="off" placeholder="å°ç£ èªå¨å¸¦å ¥" class="layui-input weight rkbk-search-input" disabled> <em class="kccz-data-dw">KG</em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label color-red">ç®é(空车)</label> <div class="layui-input-block"> <input type="text" name="emptyWeight" id="emptyWeight" autocomplete="off" placeholder="å°ç£ èªå¨å¸¦å ¥" class="layui-input weight rkbk-search-input" disabled> <em class="kccz-data-dw">KG</em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">å é</label> <div class="layui-input-block"> <input type="text" name="netWeight" autocomplete="off" placeholder="èªå¨è®¡ç®" class="layui-input rkbk-search-input" disabled> <em class="kccz-data-dw">KG</em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">ç²®é£åç§</label> <div class="layui-input-block"> <select name="foodVariety" id="foodVariety"> <option value=""></option> <option th:each="dic,dicSet:${listFoodVariety}" th:value="${dic.dictValue}" th:text="${dic.dictLabel}"></option> </select> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">æ°´ å</label> <div class="layui-input-block"> <input id="perWet" type="text" name="perWet" autocomplete="off" placeholder="请è¾å ¥" class="layui-input weight"> <em class="kccz-data-dw">%</em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">æ£ é</label> <div class="layui-input-block"> <input id="deOther" type="text" name="deOther" autocomplete="off" placeholder="请è¾å ¥" class="layui-input weight"> <em class="kccz-data-dw">KG</em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">å ä»·</label> <div class="layui-input-block"> <input id="price" type="text" name="price" autocomplete="off" placeholder="请è¾å ¥" class="layui-input weight"> <em class="kccz-data-dw">å </em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">æ è´¨</label> <div class="layui-input-block"> <input id="perImpurity" type="text" name="perImpurity" autocomplete="off" placeholder="请è¾å ¥" class="layui-input weight"> <em class="kccz-data-dw">%</em> </div> </div> </div> <div class="layui-col-xs4 display-none"> <div class="layui-form-item"> <label class="layui-form-label">å ¥åºéé</label> <div class="layui-input-block"> <input type="text" name="recordWeight" placeholder="èªå¨è®¡ç®" autocomplete="off" class="layui-input rkbk-search-input" disabled> <em class="kccz-data-dw">KG</em> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">ç»ç®éé</label> <div class="layui-input-block"> <input type="text" name="settleWeight" placeholder="èªå¨è®¡ç®" autocomplete="off" class="layui-input rkbk-search-input" disabled> <em class="kccz-data-dw">KG</em> </div> </div> </div> <div class="layui-col-xs12"> <div class="layui-form-item"> <label class="layui-form-label">夿³¨è¯´æ</label> <div class="layui-input-block"> <input type="text" name="remarks" placeholder="请è¾å ¥å 容" class="layui-input"> </div> </div> </div> <div class="layui-col-xs12"> <div class="line-container" style="margin: 10px 0 0 0;"> <div class="line"></div> <div class="line-text" style="font-size: 16px">以ä¸ä¸ºç»è®°ä¿¡æ¯</div> <div class="line"></div> </div> </div> <div class="layui-col-xs12"> <div style="height: 40px"> <input type="button" value="读身份è¯" style="height: 34px;line-height: 34px;right: 120px;" class="rkbk-search-btn layui-btn" onclick="flushIdCard()"> <input type="button" value="读车ç" style="height: 34px;line-height: 34px" class="rkbk-search-btn layui-btn" onclick="flushPlateNum()"> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label color-red">æ¿è¿äºº</label> <div class="layui-input-block"> <input type="text" name="userName" placeholder="请è¾å ¥" class="layui-input"> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label color-red">身份è¯å·</label> <div class="layui-input-block"> <input type="text" name="userId" id="userId" placeholder="请è¾å ¥" autocomplete="off" class="layui-input"> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label color-red">车çå·</label> <div class="layui-input-block"> <input type="text" name="plateNum" id="plateNum" placeholder="请è¾å ¥" autocomplete="off" class="layui-input"> </div> </div> </div> <div class="layui-col-xs4"> <div class="layui-form-item"> <label class="layui-form-label">èç³»çµè¯</label> <div class="layui-input-block"> <input type="text" name="userContact" id="userContact" placeholder="请è¾å ¥" autocomplete="off" class="layui-input"> </div> </div> </div> <div class="layui-col-xs8"> <div class="layui-form-item"> <label class="layui-form-label">å° å</label> <div class="layui-input-block"> <input type="text" name="userAddress" id="userAddress" placeholder="请è¾å ¥" autocomplete="off" class="layui-input"> </div> </div> </div> <div class="layui-col-xs12" style="padding-left: 50px;color: #2ab5ad;"> 说æï¼ <span style="color: #2ab5ad;"> 1. åé=æ¯é-ç®éï¼å ¥åºéé=ç»ç®éé=åé-æ£éï¼ </span> <br> <span style="padding-left: 46px;color: #2ab5ad;"> 2. æµç¨ä¸è½¦è¾å¯ç¹å»è½¦è¾éæ©ï¼è¿è¡ç§°éï¼æªç»è®°è½¦è¾ï¼å¯å¡«åç¸å ³ä¿¡æ¯ï¼ç´æ¥ç§°éï¼ </span> </div> </form> </div> </div> <!--kccz-left-box2 end--> </div> <!--kccz-left end--> <div class="kccz-right fr"> <div class="kccz-left-box2 radius-6" style="height: 515px;padding: 1px 5px 0px 10px;"> <div class="rkbk-tit" style="margin-left: 15px;"> <i></i> <h3>ç§°éæ°æ®<span></span></h3> </div> <!-- æµç¨æ°æ®ä¿¡æ¯ --> <div class="layui-tab-content" id="listProgressData" style="padding: 0"> <table class="layui-table tableListProgressData" id="tableListProgressData" lay-filter="tableListProgressData"> <thead> <tr class="qyzj-table-tit"> <th>åæ®å·</th> <th>æ¿è¿äºº</th> <th>车çå·</th> <th>ç¶æ</th> <th>éæ©è½¦è¾</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> <div class="kccz-left-box2 mt-10 radius-6" style="height: 210px;padding: 5px;"> <div class="kccz-r-item radius-6"> <div class="kccz-r-box"> <div class="rkbk-tit"> <i></i> <h3>è¿ç¨è§é¢1</h3> </div> <div class="kccz-r-con"> <div class="kccz-r-vedio" id="kccz-r-video1"> </div> </div> </div> </div> <!--kccz-r-item end--> <div class="kccz-r-item radius-6"> <div class="kccz-r-box"> <div class="rkbk-tit"> <i></i> <h3>è¿ç¨è§é¢2</h3> </div> <div class="kccz-r-con"> <div class="kccz-r-vedio" id="kccz-r-video2"> </div> </div> </div> </div> <!--kccz-r-item end--> <div class="kccz-r-item radius-6"> <div class="kccz-r-box"> <div class="rkbk-tit"> <i></i> <h3>è¿ç¨è§é¢3</h3> </div> <div class="kccz-r-con"> <div class="kccz-r-vedio" id="kccz-r-video3"> </div> </div> </div> </div> <!--kccz-r-item end--> <!-- <div class="kccz-r-item radius-6">--> <!-- <div class="kccz-r-box">--> <!-- <div class="rkbk-tit">--> <!-- <i style="margin: 8px 3px 0 3px"></i>--> <!-- <h3>车çè¯å«è§é¢</h3>--> <!-- </div>--> <!-- <div class="kccz-r-con">--> <!-- <div class="kccz-r-vedio" id="kccz-r-video1">--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- <!–kccz-r-item end–>--> <!-- <div class="kccz-r-item radius-6 mt-10">--> <!-- <div class="kccz-r-box">--> <!-- <div class="rkbk-tit">--> <!-- <i style="margin: 8px 3px 0 3px"></i>--> <!-- <h3>车顶ææè§é¢</h3>--> <!-- </div>--> <!-- <div class="kccz-r-con">--> <!-- <div class="kccz-r-vedio" id="kccz-r-video2">--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- <!–kccz-r-item end–>--> <!-- <div class="kccz-r-item radius-6 mt-10">--> <!-- <div class="kccz-r-box">--> <!-- <div class="rkbk-tit">--> <!-- <i style="margin: 8px 3px 0 3px"></i>--> <!-- <h3>车尾ææè§é¢</h3>--> <!-- </div>--> <!-- <div class="kccz-r-con">--> <!-- <div class="kccz-r-vedio" id="kccz-r-video3">--> <!-- </div>--> <!-- </div>--> <!-- </div>--> <!-- </div>--> </div> <!--kccz-r-item end--> </div> </div> <!--kccz-con end--> </div> <!--rk-main end--> </div> <!--l-container end--> <script th:inline="javascript"> //æµç¨ç¯è var inoutProgress = [[${inoutProgress}]]; var progress = [[${progress}]]; var deptId = [[${deptId}]]; var listDepot = [[${listDepot}]]; var weightEditTag = [[${weightEditTag}]]; //userId var userId = [[${loginUser.loginName}]]; //åºå ¥åºç±»å var type = [[${type}]]; var companyId = [[${loginUser.companyId}]]; //å°ç£ ä¿¡æ¯ var weightDto = [[${weightDto}]]; //è¿ç¨æå头 var snapDto1 = [[${snapDto1}]]; var snapDto2 = [[${snapDto2}]]; var snapDto3 = [[${snapDto3}]]; //ç½å ³ä¿¡æ¯ var gatewaySer = [[${gatewaySer}]]; </script> <script th:src="@{/ajax/libs/layui/layui.js}"></script> <script th:src="@{/js/jquery.min.js}"></script> <script th:src="@{/common/constant.js}"></script> <script th:src="@{/common/igds-common.js}"></script> <script th:src="@{/inout/inout-common.js}"></script> <script th:src="@{/inout/inout-print.js}"></script> <script th:src="@{/inout/video-play.js}"></script> <script th:src="@{/inout/weight.js}"></script> <script th:src="@{/inout/inout-weight3.js}"></script> </body> <!-- å¼¹åºéç¥å --> <div class="layui-tab-content" id="listNotice" style="display: none;"> <table class="layui-table" lay-skin="nob" id="tableNotice" lay-filter="tableNotice" style="margin: 0px;"></table> </div> <!-- å¼¹åºç²®é£äº§å° --> <div class="layui-tab-content" id="listFoodLocation" style="display: none;"> <table class="layui-table" lay-skin="nob" id="tableFoodLoaction" lay-filter="tableFoodLoaction" style="margin: 0px;"></table> </div> <!--<!– æµç¨æ°æ®ä¿¡æ¯ –>--> <!--<div class="layui-tab-content" id="listProgressData" style="display: none;">--> <!-- <table class="layui-table tableListProgressData" id="tableListProgressData"--> <!-- lay-filter="tableListProgressData">--> <!-- <thead>--> <!-- <tr class="qyzj-table-tit">--> <!-- <th>åæ®å·</th>--> <!-- <th>æ¿è¿äºº</th>--> <!-- <th>车çå·</th>--> <!-- <th>æä½</th>--> <!-- </tr>--> <!-- </thead>--> <!-- <tbody>--> <!-- </tbody>--> <!-- </table>--> <!--</div>--> <!-- å¼¹åºæ¡çä¿¡æ¯ --> <div class="layui-tab-content" id="dialog-from-notify" style="display: none;"> <table class="layui-table"> <colgroup> <col> </colgroup> <tbody> <tr> <td>è¿åä¿¡æ¯</td> <td id="resultMsg" style="color: red;font-weight: bold;"></td> </tr> <tr> <td>æ¿è¿äºº</td> <td id="resultUserName" style="font-weight: bold;"></td> </tr> <tr> <td>车çå·</td> <td id="resultPlateNum" style="font-weight: bold;"></td> </tr> <tr> <td>ä¸ä¸æ¥</td> <td id="resultType" style="font-weight: bold;"></td> </tr> </tbody> </table> </div> <script type="text/html" id="toolbarFoodLocaton"> <div class=""> <div class="layui-col-xs6"> <input type="text" id="key2" placeholder="è¾å ¥ç¼ç æè åç§°â¦â¦" class="layui-input"> </div> <div class="layui-col-xs6" style="padding-left: 10px;"> <button class="layui-btn layui-btn-sm" onclick="flushFoodLocation()">æ¥è¯¢</button> </div> </div> </script> <script type="text/html" id="barSelectProgress"> <a class="layui-btn layui-btn-xs" style="width: 80px;height: 30px;line-height: 30px;border-radius: 6px;" lay-event="select">éæ©</a> </script> </html> fzzy-igdss-web/src/main/resources/templates/login.html
@@ -122,14 +122,14 @@ </div> <!--ææºAPP--> <div class="login2-ewm css-hand"> <div class="login2-ewm css-hand" onClick="showCode()"> <h3> <i class="i-icon"><img th:src="@{/login/images/login-app.png}"/></i>ä¸è½½APP </h3> </div> <div class="login2-ewm-img dis-none" id="ewm"> <img th:src="@{/login/images/login-app.png}"/> <img th:src="@{/login/images/login-app.png}" style="width: 100%;height: 100%"/> </div> <h1 class="login-tit"> @@ -226,6 +226,10 @@ <script th:inline="javascript"> var ctx = [[@{/}]] ; var captchaType = [[${captchaType}]]; function showCode() { $("#ewm").css("display", "block"); } </script> <script src="../static/js/jquery.min.js" th:src="@{/js/jquery.min.js}"></script> <script src="../static/ajax/libs/validate/jquery.validate.min.js" fzzy-igdss-web/src/main/resources/templates/print/pay.html
@@ -2,7 +2,7 @@ <html lang='zh-cn'> <head> <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'> <meta content='text/html;charset=UTF-8' http-equiv='Content-Type'> <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;} @@ -12,16 +12,16 @@ <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'> <table cellpadding='0' cellspacing='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 colspan='3' width='37.5%'>[userName]</td> <td width='12.5%'>èç³»çµè¯</td> <td width='37.5%' colspan='3'>[userContact]</td> <td colspan='3' width='37.5%'>[userContact]</td> </tr> <tr> <td>身份è¯å·ç </td> fzzy-igdss-web/src/main/resources/templates/security/eventInfo.html
@@ -40,8 +40,8 @@ </select> </li> <li th:if="${viewType == '1'}" style="display: flex"> <label>äºä»¶åç§°ï¼</label> <input class="form-control" type="text" name="name" placeholder="请è¾å ¥äºä»¶åç§°"> <label>äºä»¶æ ç¾ï¼</label> <input class="form-control" type="text" name="name" placeholder="请è¾å ¥äºä»¶æ ç¾"> </li> <li class="select-time"> <label style="width: 100px">äºä»¶æ¶é´ï¼ </label>