Browse Source

当物流单的物流状态签收后禁止反审核物流单,同时禁止再次发送物流

hu 7 months ago
parent
commit
04202f1e29
1 changed files with 17 additions and 1 deletions
  1. 17 1
      src/custom/restcontroller/webmanage/sale/logistics/LSALogistics.java

+ 17 - 1
src/custom/restcontroller/webmanage/sale/logistics/LSALogistics.java

@@ -438,7 +438,7 @@ public class LSALogistics extends Controller {
     //TODO 审核时必填字段?
     @API(title = "审核、反审核", apiversion = R.ID20230721110502.v1.class)
     @CACHEING_CLEAN(apiversions = {R.ID20221122132804.v1.class, R.ID20221122133004.v1.class, R.ID20221114135303.v1.class, R.ID20230219093203.v1.class})
-    public String checkOrUncheck() throws YosException {
+    public String checkOrUncheck() throws YosException, NoSuchAlgorithmException {
         Long sa_logisticsid = content.getLong("sa_logisticsid");
         ArrayList<String> sqlList = new ArrayList<>();
 
@@ -449,12 +449,21 @@ public class LSALogistics extends Controller {
         Row logisticsRow = rows.get(0);
         String billno = logisticsRow.getString("billno");
         String status = logisticsRow.getString("status");
+
         if ("收货".equals(status)) {
             return getErrReturnObject().setErrMsg("该物流单为收货状态,无法审核与反审核").toString();
         }
 
         SQLFactory sqlFactory = new SQLFactory(this, "物流单审核");
         if (status.equals("审核")) {
+            WzwlDocking wzwlDocking =new WzwlDocking();
+            JSONObject wzwlOrder = wzwlDocking.queryWzwlOrder(billno);
+            if(wzwlOrder.getString("success").equals("true")){
+                JSONArray data = wzwlOrder.getJSONArray("data");
+                if(((JSONObject)data.get(0)).getStringValue("status").equals("签收")){
+                    return getErrReturnObject().setErrMsg("物流单已签收,禁止反审核!").toString();
+                }
+            }
             sqlFactory = new SQLFactory(this, "物流单反审核");
             sqlList.add(DataContrlLog.createLog(this, "sa_logistics", sa_logisticsid, "反审核", "反审核:" + sa_logisticsid).getSQL());
             Rows itemsrows = dbConnect.runSqlQuery("SELECT * from sa_logistics_items WHERE sa_logisticsid=" + sa_logisticsid + " and siteid='" + siteid + "'");
@@ -516,6 +525,13 @@ public class LSALogistics extends Controller {
         if (!rows.get(0).getString("status").equals("审核")) {
             return getErrReturnObject().setErrMsg("该物流单为非审核状态,无法发送至物流").toString();
         }
+        JSONObject wzwlOrder = wzwlDocking.queryWzwlOrder(rows.get(0).getString("billno"));
+        if(wzwlOrder.getString("success").equals("true")){
+            JSONArray data = wzwlOrder.getJSONArray("data");
+            if(((JSONObject)data.get(0)).getStringValue("status").equals("签收")){
+                return getErrReturnObject().setErrMsg("物流单已签收,无法再次发送!").toString();
+            }
+        }
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_logistics_items");
         querySQL.setTableAlias("t1");