From 63fbfddabe08e353ad75e495c2ac8dc5203da88c Mon Sep 17 00:00:00 2001
From: Administrator <hbal>
Date: 星期一, 17 四月 2023 17:13:32 +0800
Subject: [PATCH] 明晟、义瑞装车

---
 JavaSource/com/mandi/fendan/util/Contants.java                   |    6 
 /dev/null                                                        |   66 -------------
 JavaSource/com/mandi/fendan/mapper/Fd_XSTDMXMapper.java          |   15 ++
 JavaSource/com/mandi/webservice/service/IInvoiceService.java     |    7 +
 JavaSource/com/mandi/webservice/service/impl/InvoiceService.java |   51 ++++++++++
 JavaSource/com/mandi/webservice/service/IFdXSTDService.java      |   12 ++
 JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java  |  101 +++++++++++++++++--
 7 files changed, 177 insertions(+), 81 deletions(-)

diff --git a/JavaSource/com/mandi/fendan/mapper/Fd_XSTDMXMapper.java b/JavaSource/com/mandi/fendan/mapper/Fd_XSTDMXMapper.java
index d5abf32..449409a 100644
--- a/JavaSource/com/mandi/fendan/mapper/Fd_XSTDMXMapper.java
+++ b/JavaSource/com/mandi/fendan/mapper/Fd_XSTDMXMapper.java
@@ -157,11 +157,24 @@
 	@Update("update fd_xstdmx set tdmx_ggxh=#{tdmx_ggxh} where tdmx_tdfl=#{tdmx_tdfl}")
 	public int updateMXGG(Fd_XSTDMX mx);
 
+	//鏄庢櫉 LED 瑁呰溅
 	@Select({"select  hw.name tdmx_hwmc,mx.* from fd_xstdmx mx " ,
 			" left join nc_hw hw on mx.tdmx_hwbh=hw.pkid and hw.state=1 " ,
-			" join fd_bsheet on bsNo=tdmx_fdywbh and status='鍦ㄥ姙' where SdepartNo=#{sdepartNo} "
+			" join xs_taskmonitor xt on mx.tdmx_fdywbh = xt.businessNo  ",
+			" join fd_bsheet on bsNo=tdmx_fdywbh and status='鍦ㄥ姙' " ,
+			" where SdepartNo=#{sdepartNo} and xt.firstgbtime is not null  and xt.lastgbtime is null and zcWc=0"
 	})
 	public List<Map> getHwList(String sdepartNo);
 
+	// 涔夌憺LED鏄剧ず 搴忓彿  杞﹀彿  瑁呰溅鍖�  鐘舵��
+	@Select({
+			"select  bs.numberplates,businessNo,zcWz,firstzxhtime," ,
+			"case WHEN EXISTS ( SELECT * FROM bussinessitems WHERE bussinessNo = x.businessNo ) THEN '鍦ㄨ'" ,
+			" when x.firstgbtime is not null then '寰呰' else '瀹屾垚' end zcStatus " ,
+			" from xs_taskmonitor x" ,
+			" join bussinesssheet bs on x.businessNo=bs.bussinessNo" ,
+			" where sdepartNo=#{sdepartNo} and x.lastgbtime is  null and zcWc=0"
+	})
+	public List<Map> yRZcList(String sdepartNo);
 
 }
diff --git a/JavaSource/com/mandi/fendan/util/Contants.java b/JavaSource/com/mandi/fendan/util/Contants.java
index 48ba91e..1313f66 100644
--- a/JavaSource/com/mandi/fendan/util/Contants.java
+++ b/JavaSource/com/mandi/fendan/util/Contants.java
@@ -39,8 +39,10 @@
 
 
 	//鍒嗗崟绯荤粺鎺ㄩ�佷竴鍗¢�氭祴璇曞湴鍧�
-	public static String yktLocalAdd=  "http://127.0.0.1:8085"; // "http://10.1.1.9:8088";//涓�鍗¢�氬缃戞祴璇曞湴鍧�
-	public final static String msLedServiceAddr= "http://192.168.200.211:8077/APPService.asmx"; // 鏄庢櫉ABC鍖篖ED
+	public static String yktLocalAdd = "http://127.0.0.1:8085"; // "http://10.1.1.9:8088";//涓�鍗¢�氬缃戞祴璇曞湴鍧�
+	public static String msLedServiceAddr = "http://192.168.200.211:8077/APPService.asmx"; // 鏄庢櫉ABC鍖篖ED
+
+	public static String  yr_zcLedUrl = "http://192.168.200.211:8077/APPService.asmx"; // 涔夌憺LED 瑁呰溅 webservice
 //	public static String yktLocalAdd="http://125.46.81.106:8088";//涓�鍗¢�氬缃戞祴璇曞湴鍧�
 	//鍒嗗崟鍥炲啓nc绯荤粺娴嬭瘯鍦板潃NCfdhx_url
 	public static String NCfdhx_url = "http://10.0.13.20:9088/api/Domain/mtcesb/servlet/PubAPIServlet";
diff --git a/JavaSource/com/mandi/fendan/util/Contants_production.java b/JavaSource/com/mandi/fendan/util/Contants_production.java
deleted file mode 100644
index c32ac99..0000000
--- a/JavaSource/com/mandi/fendan/util/Contants_production.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.mandi.fendan.util;
-
-// 姝e紡鐜 鍜屾祴璇曠幆澧冭娉ㄦ剰
-public class Contants_production {
-
-	public static int XSTDlastSearchday = 120;// 閿�鍞彁鍗曞垎鍗曟煡璇㈡渶鍚庢椂闂� 120澶�
-	public static String cpxsBtNo = "businesstype00002";// 鎴愬搧閿�鍞笟鍔$被鍨嬬紪鍙�
-
-	public static String kjSdepartNo = "04";//绉戞妧鍘傚尯
-	public static String zzSdepartNo = "03";//閮戝窞鍘傚尯
-	public static String msSdepartNo = "06";//鏄庢櫉鍘傚尯
-	public static String yrSdepartNo = "08";//涔夌憺鍘傚尯
-
-	public static String nc_ywdy_ZZ = "102";//閮戝窞nc涓氬姟鍗曞厓缂栧彿
-	public static String nc_ywdy_KJ = "103";//绉戞妧nc涓氬姟鍗曞厓缂栧彿
-	public static String nc_ywdy_MS = "111";//鏄庢櫉nc涓氬姟鍗曞厓缂栧彿
-	public static String nc_ywdy_YR = "114";//涔夌憺nc涓氬姟鍗曞厓缂栧彿
-	public static String nc_ywdy_MT = "101";//鏄庢嘲nc涓氬姟鍗曞厓缂栧彿
-
-	public static int scale = 4;// 灏忔暟淇濈暀浣嶆暟
-	//鍒嗗崟鎵撳嵃鍦板潃
-	public static String GYPrintAdd = "/WebReport/ReportServer?reportlet=print%2Fprint_fd_ncxstd.cpt";
-	public static String GJTDALLPrintAdd = "/WebReport/ReportServer?reportlet=print%2Fprint_fd_ncxstdall.cpt";
-	//nc鍙戣揣鍗曟帹閫佸垎鍗曠郴缁焌ction鍊�
-	public static String NcactionCode_add = "1020";
-	public static String NcactionCode_del = "1022";
-	public static String NcactionCode_close = "1024"; // 鍏抽棴
-	public static String NcactionCode_open = "1026";
-
-	// 鍒嗗崟绯荤粺鎺ㄩ�佷竴鍗¢�氱郴缁熷湴鍧�
-//	public static String yktLocalAdd = "http://10.0.12.11:8080";// 涓�鍗¢�氬唴缃戝湴鍧�
-//	鍒嗗崟鍥炲啓nc绯荤粺
-//	public static String NCfdhx_url = "http://10.0.12.17:9088/api/Domain/mtcesb/servlet/PubAPIServlet";
-//	// NC鏁版嵁婧愬悕瀛�
-//	public static String NCds_name = "design";
-//	public static String NCuser_code = "ykt";
-//	public static String NCmethod_name = "WriteDetail";
-//	public static String Ncgroup_code = "01";
-//	public static String NcNosend = "";// 102
-
-
-	//鍒嗗崟绯荤粺鎺ㄩ�佷竴鍗¢�氭祴璇曞湴鍧�
-//	public static String yktLocalAdd="http://10.0.12.9:8088";//涓�鍗¢�氬缃戞祴璇曞湴鍧�
-//	public static String yktLocalAdd="http://125.46.81.106:8088";//涓�鍗¢�氬缃戞祴璇曞湴鍧�
-	// 姝e紡
-	public static String yktLocalAdd = "http://10.0.12.11:8080";
-
-	public final static String msLedServiceAddr= "http://10.22.11.151:8080/APPService.asmx"; // 鏄庢櫉ABC鍖篖ED webservice
-	//鍒嗗崟鍥炲啓nc绯荤粺娴嬭瘯鍦板潃
-//	public static String NCfdhx_url = "http://10.0.13.20:9090/api/Domain/mtcesb/servlet/PubAPIServlet";
-	// 姝e紡
-	public static String NCfdhx_url = "http://10.0.12.17:9088/api/Domain/mtcesb/servlet/PubAPIServlet";
-
-//	鑾峰彇涓�鍗¢�氱紪鍙�,鍒嗗崟琛ㄥご鎺ㄩ�佷竴鍗¢��,鍙栨秷鍒嗗崟鍒犻櫎涓�鍗¢�氫笟鍔″崟淇℃伅,涓氬姟鍗曞彂閫佺煭淇�,
-	public static String YKTgetPrefix_url = yktLocalAdd+"/ws/api/prefix";
-	public static String YKTaddYwd_url = yktLocalAdd+"/ws/api/addywd";
-	public static String YKTdelYwd_url = yktLocalAdd+"/ws/api/delywd";
-	public static String YKTsendMsg_url = yktLocalAdd+"/ws/api/sendmsg";
-
-	public static String NCds_name = "design";
-	public static String NCuser_code = "sc";
-	public static String NCmethod_name = "WriteDetail";
-	public static String Ncgroup_code = "01";
-	public static String NcNosend = "";
-
-}
diff --git a/JavaSource/com/mandi/webservice/service/IFdXSTDService.java b/JavaSource/com/mandi/webservice/service/IFdXSTDService.java
index fcb5d8d..ffe1f78 100644
--- a/JavaSource/com/mandi/webservice/service/IFdXSTDService.java
+++ b/JavaSource/com/mandi/webservice/service/IFdXSTDService.java
@@ -84,4 +84,16 @@
 	 * @throws Exception
 	 */
 	public ObjectResult<Boolean> savewdControl(JsonArray dataArr)throws Exception;
+
+	/**
+	 * 鍙戦�佸埌鏄庢櫉LED ABC鍖�
+	 * @param currPch
+	 */
+	public void sendToMsLed(String currPch);
+
+	/**
+	 * 鍙戦�佸埌涔夌憺 LED 鍖�
+	 * @param currPch
+	 */
+	public void sendToYrLed(String currPch);
 }
diff --git a/JavaSource/com/mandi/webservice/service/IInvoiceService.java b/JavaSource/com/mandi/webservice/service/IInvoiceService.java
index c58c4c6..4df5435 100644
--- a/JavaSource/com/mandi/webservice/service/IInvoiceService.java
+++ b/JavaSource/com/mandi/webservice/service/IInvoiceService.java
@@ -79,4 +79,11 @@
 	@Produces(MediaType.APPLICATION_JSON)
 	@Path("/savewdcontrol")
 	public String savewdControl(@Context HttpServletRequest r,@RequestBody String jsonParam);
+
+	// 鎺ユ敹涓�娆$О閲嶃�佷簩娆$О閲� data 涓�娆$О閲� firstWeighing secondWeighing
+	@POST
+	@Produces(MediaType.APPLICATION_JSON)
+	@Path("/currWeight")
+	public String receiveCurrWeight(@Context HttpServletRequest r,@RequestBody String jsonParam);
+
 }
diff --git a/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java b/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java
index 33e51ad..aea6a42 100644
--- a/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java
+++ b/JavaSource/com/mandi/webservice/service/impl/FdXSTDService.java
@@ -9,6 +9,7 @@
 import com.mandi.basicconfig.persist.*;
 import com.mandi.common.JSONobj;
 import com.mandi.common.ParamFileter.BigDecimalfiter;
+import com.mandi.common.SpringContext;
 import com.mandi.common.Wxhtmethod;
 import com.mandi.dao.common.ObjectResult;
 import com.mandi.dao.common.PageResult;
@@ -24,6 +25,7 @@
 import com.mandi.webservice.service.IFdXSTDService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.log4j.Logger;
+import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -61,6 +63,9 @@
 	private FdRepertoryNexusMapper reNxPer;
 
 	private Logger log= Logger.getLogger(FileLoadImpl.class);
+
+	public static Boolean refreshMsLedLock = false;
+	public static Boolean refreshYrLedLock = false;
 
 	@Override
 	@Transactional(rollbackFor=Exception.class)
@@ -583,7 +588,43 @@
 		 // 姝ゅ寮傛瑙﹀彂涓�涓嬫槑鏅熷彂杞�
 		if("06".equals(fdb.getSdepartNo())) {
 			final String cph = currPch;
-			ThreadPoolUtil.getInstance().execute(()->sendToMsLed(cph));
+			ThreadPoolUtil.getInstance().execute(()->{
+				try {
+					synchronized (FdXSTDService.refreshMsLedLock) {
+						if (FdXSTDService.refreshMsLedLock) { // 绯荤粺绻佸繖
+							return  ;
+						}
+						FdXSTDService.refreshMsLedLock = true;
+					}
+					sendToMsLed(cph);
+				} catch (Exception e) {
+					log.error(e);
+				} finally {
+					synchronized (FdXSTDService.refreshMsLedLock) {
+						FdXSTDService.refreshMsLedLock = false;
+					}
+				}
+			});
+		}
+		if("08".equals(fdb.getSdepartNo())) {
+			final String cph = currPch;
+			ThreadPoolUtil.getInstance().execute(()->{
+				try {
+					synchronized (FdXSTDService.refreshYrLedLock) {
+						if (FdXSTDService.refreshYrLedLock) { // 绯荤粺绻佸繖
+							return  ;
+						}
+						FdXSTDService.refreshYrLedLock = true;
+					}
+					sendToYrLed(cph);
+				} catch (Exception e) {
+					log.error(e);
+				} finally {
+					synchronized (FdXSTDService.refreshYrLedLock) {
+						FdXSTDService.refreshYrLedLock = false;
+					}
+				}
+			});
 		}
 		prr.setCode(0);
 		prr.setErrmsg("瑁呰溅鎿嶄綔鎴愬姛锛�");
@@ -599,7 +640,9 @@
 		//A鍖�  76-86 +  99-1
 		//B鍖�  14-33 +  99-2
 		//C鍖�  53-67 +  99-3
+		log.info("LED-ABC褰撳墠鎵爜鎵规鍙凤細" + currPch);
 		List<Map> totalList =  tdmxper.getHwList("06"); // 鑾峰彇鏄庢櫉鎵�鏈夊湪鍔炰笟鍔″崟鐨勪俊鎭�
+		log.info("LED-ABC鑾峰彇淇℃伅鏉℃暟锛�" + totalList.size());
 		Map<String,List<Map>> ywbhListMap = new HashMap<>();
 		for (Map map : totalList) {
 			String ywdw = (String) map.get("tdmx_fdywbh");
@@ -618,7 +661,8 @@
 		// 鍙湁3涓尯
 		String speakTxtFormatStr3 = "杞﹀彿%s锛�%s鍖鸿璐�%d浠跺凡鍏ㄩ儴鎵弿瀹屾垚锛岃鍙告満娓呯偣璐х墿鍚庡幓%s鍖�%s鍖鸿璐с��";
 		Map speakParam = new HashMap(1);
-		for (Map.Entry<String, List<Map>> entry : ywbhListMap.entrySet()) { // 閬嶅巻姣忎釜涓氬姟鍗曠殑
+		for (Map.Entry<String, List<Map>> entry : ywbhListMap.entrySet()) {
+			// 閬嶅巻姣忎釜涓氬姟鍗曠殑
 			// 褰撳墠瑁呰溅A銆丅銆丆鍖�
 			boolean currA = false,currB = false, currC = false;
 			boolean hasZcwc = false; // 淇濊瘉宸茬粡瀹屾垚浜�
@@ -670,14 +714,14 @@
 					}
 				}
 			}
-			if (!hasZcwc) continue; //娌℃湁瑁呰溅瀹屾垚鐨勪篃璺宠繃
-			if (!(currA || currB || currC) && abcMap.get("A") + abcMap.get("B") + abcMap.get("C") ==
+			// if (!hasZcwc) continue; //娌℃湁瑁呰溅瀹屾垚鐨勪篃璺宠繃
+			/*if (!(currA || currB || currC) && abcMap.get("A") + abcMap.get("B") + abcMap.get("C") ==
 					totalAbcMap.get("A") + totalAbcMap.get("B") + totalAbcMap.get("C")) { // 闈炲綋鍓嶈溅鐗屽彿锛屽凡缁忚杞﹀畬鎴愪絾鏄湭鍑哄巶
 				continue;
-			}
-			str2 += String.format(formatStr, cph, fillSpace(abcMap.get("A")), fillSpace(totalAbcMap.get("A")),
-					fillSpace(abcMap.get("B")), fillSpace(totalAbcMap.get("B")),
-					fillSpace(abcMap.get("C")), fillSpace(totalAbcMap.get("C")));
+			}*/
+			str2 += String.format(formatStr, cph, fillWithZero(abcMap.get("A")), fillWithZero(totalAbcMap.get("A")),
+					fillWithZero(abcMap.get("B")), fillWithZero(totalAbcMap.get("B")),
+					fillWithZero(abcMap.get("C")), fillWithZero(totalAbcMap.get("C")));
 			// 寮�濮嬪噯澶囪闊�
 			int total = 0;
 			if(currA && abcMap.get("A") == totalAbcMap.get("A")) { // 褰撳墠杞﹀湪A鍖鸿杞﹀畬鎴�
@@ -748,18 +792,51 @@
 			}
 			// 鍗曡締杞︾殑鍗曚釜涓氬姟鍗曠殑淇℃伅缁撴潫
 		}
+		if(StringUtils.isBlank(str2)) {
+			str2 = "鏃犺溅杈�";
+		}
 		Map paramMap = new HashMap();
 		paramMap.put("strTitle",str1);
 		paramMap.put("strContent",str2);
 		try {
-		  String re = Wxhtmethod.post(Contants.msLedServiceAddr + "/SendLED",paramMap);
-		  // 璇煶鍙挱涓�鏉�
-		  String re1 = Wxhtmethod.post(Contants.msLedServiceAddr + "/Speak",speakParam);
+			log.info("LED-ABC webServiceAddrss:"+Contants.msLedServiceAddr+"st1::" +str1+";;;;;str2::"+str2);
+		    String re = Wxhtmethod.post(Contants.msLedServiceAddr + "/SendLED",paramMap);
+			log.info("LED-ABC result:"+re);
+			// 璇煶鍙挱涓�鏉�
+		    String re1 = Wxhtmethod.post(Contants.msLedServiceAddr + "/Speak",speakParam);
 		}catch (Exception e){}
 
 
 	}
-	String fillSpace(int str){
+
+	@Override
+	public void sendToYrLed(String currPch) {
+			// 鐘舵�� 涓�纾呭悗锛屽緟瑁咃紱PDA鎵爜 鍦ㄨ锛� 浜屾杩囩鍚庢秷澶�
+			// 瑁呰溅鍖� 涓や釜姹夊瓧鍔犱袱涓嫳鏂囨垨鏁板瓧
+			String strTitle="搴忓彿   杞﹀彿   瑁呰溅鍖�   鐘舵�乗r\n";
+			String strContent = "";
+			String contentFormatStr = "%s   %s  %s   %s\r\n";
+			List<Map> list = tdmxper.yRZcList("08");
+			int index = 1;
+			for (Map map : list) {
+				String numberplates = (String) map.get("numberplates"); // 杞︾墝鍙�
+				String zcWz = (String) map.get("zcWz"); // 瑁呰溅浣嶇疆
+				if(StringUtils.isNotBlank(zcWz)){
+					zcWz = zcWz.substring(0,4);
+				} else {
+					zcWz = "    ";
+				}
+				String zcStatus = (String) map.get("zcStatus"); // 瑁呰溅浣嶇疆 鍦ㄥ姙/寰呭姙
+				strContent += String.format(contentFormatStr, fillWithZero(index++), numberplates, zcWz, zcStatus);
+			}
+			Map paramMap = new HashMap();
+			paramMap.put("strTitle",strTitle);
+			paramMap.put("strContent",strContent);
+			Wxhtmethod.post(Contants.yr_zcLedUrl + "/SendLED",paramMap);
+			log.info("yr_zcLedUrl: " + Contants.yr_zcLedUrl + ";title:" + strTitle + ",content:" + strContent);
+	}
+
+	String fillWithZero(int str){
 		String s;
 		if(str<10 && str>=0) s= "0" + str;
 		else s=String.valueOf(str);
diff --git a/JavaSource/com/mandi/webservice/service/impl/InvoiceService.java b/JavaSource/com/mandi/webservice/service/impl/InvoiceService.java
index 2da633c..d3bede5 100644
--- a/JavaSource/com/mandi/webservice/service/impl/InvoiceService.java
+++ b/JavaSource/com/mandi/webservice/service/impl/InvoiceService.java
@@ -368,5 +368,56 @@
 		return str;
 	}
 
+	@Override
+	public String receiveCurrWeight(HttpServletRequest r, String jsonParam) { // 鑾峰彇涓氬姟鍗曞彿 涓�娆$О閲� 浜屾绉伴噸
+		JsonParser jp=new JsonParser();
+		JsonObject jo=jp.parse(jsonParam).getAsJsonObject();
+		String businessNo = JSONobj.getstring(jo, "businessNo");
+		boolean firstWeighing = JSONobj.getbool(jo, "firstWeighing");
+		boolean secondWeighing = JSONobj.getbool(jo, "secondWeighing");
+		String sdepartNo = JSONobj.getstring(jo, "sdepartNo");
+		if(StringUtils.isBlank(businessNo) || businessNo.indexOf("XS")!=0 || StringUtils.isBlank(sdepartNo)
+		) {
+			return null;
+		}
+		// 鍒锋柊
+		if(firstWeighing || secondWeighing) { // 绉伴噸闇�瑕佸埛鏂颁竴涓�
+			if ("06".equals(sdepartNo)) { // 鏄庢櫉
+				synchronized (FdXSTDService.refreshMsLedLock) {
+					if (FdXSTDService.refreshMsLedLock) { // 绯荤粺绻佸繖
+						return null;
+					}
+				}
+				try {
+					synchronized (FdXSTDService.refreshMsLedLock) {
+						FdXSTDService.refreshMsLedLock = true;
+					}
+					fdser.sendToMsLed(null);
+				} finally {
+					synchronized (FdXSTDService.refreshMsLedLock) {
+						FdXSTDService.refreshMsLedLock = false;
+					}
+				}
+			}else if ("08".equals(sdepartNo)) { // 涔夌憺
+				synchronized (FdXSTDService.refreshYrLedLock) {
+					if (FdXSTDService.refreshYrLedLock) { // 绯荤粺绻佸繖
+						return null;
+					}
+				}
+				try {
+					synchronized (FdXSTDService.refreshYrLedLock) {
+						FdXSTDService.refreshYrLedLock = true;
+					}
+					fdser.sendToYrLed(null);
+				}finally {
+					synchronized (FdXSTDService.refreshYrLedLock) {
+						FdXSTDService.refreshYrLedLock = false;
+					}
+				}
+			}
+		}
+		return null;
+	}
+
 
 }

--
Gitblit v1.9.3