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