From 539a56279625242c497b4b4093f2defbb9d80334 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 29 一月 2026 14:05:44 +0800
Subject: [PATCH] #i18n翻译

---
 src/main/java/com/zy/asrs/controller/LocDetlController.java |  106 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 84 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index b25c818..9c62004 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -13,9 +13,11 @@
 import com.core.common.DateUtils;
 import com.core.common.R;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.ManLocDetl;
 import com.zy.asrs.entity.Mat;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.ManLocDetlService;
 import com.zy.asrs.service.MatService;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +33,7 @@
 
     @Autowired
     private LocDetlService locDetlService;
+
     @Autowired
     private LocDetlMapper locDetlMapper;
     @Autowired
@@ -39,7 +42,7 @@
     @RequestMapping(value = "/locDetl/update")
     public R update1() {
         if (!locDetlService.updateLocNo("0402805", "0402804")) {
-            return R.error();
+            return R.error("response.operation_failed");
         }
         return R.ok();
     }
@@ -61,7 +64,9 @@
                     res.addAll(locDetls);
                 }
             }
-            return R.ok().add(res);
+            R r = R.ok();
+            r.put("data",res);
+            return r;
         }
         return R.parse(BaseRes.EMPTY);
     }
@@ -80,10 +85,14 @@
                 param.remove("modi_time");
             }
         }
-        return R.ok(locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class)));
+        Page<LocDetl> stockOut = locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class));
+        if (stockOut.getRecords().size()==0){
+            stockOut = locDetlService.getStockOut(toPage(1, limit, param, LocDetl.class));
+        }
+        return R.ok(stockOut);
     }
 
-    @RequestMapping(value = "/locDetl/list/auth")
+    @RequestMapping(value = "/locDetl/list/auth")// /locDetl/list/auth 鎺ュ彛闂
     @ManagerAuth
     public R list(@RequestParam(defaultValue = "1")Integer curr,
                   @RequestParam(defaultValue = "10")Integer limit,
@@ -91,13 +100,29 @@
                   @RequestParam(required = false)String orderByType,
                   @RequestParam(required = false)String condition,
                   @RequestParam Map<String, Object> param){
-        excludeTrash(param);
+//        String row = "";
         EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+//        if (param.get("row") != null) {
+//            String chooseRow = (String) param.get("row");
+//            if (chooseRow.length() == 1) {
+//                row = "0" + chooseRow;
+//                param.remove("row");
+//            }else {
+//                row = chooseRow;
+//                param.remove("row");
+//            }
+//        }
+        excludeTrash(param);
         convert(param, wrapper);
         allLike(LocDetl.class, param.keySet(), wrapper, condition);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+//        if (!row.equals("")){
+//            wrapper.and()
+//                    .where("loc_no like '" +row +"%'");
+//        }
         return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper));
     }
+
 
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
@@ -117,48 +142,63 @@
     }
 
     @RequestMapping(value = "/locDetl/add/auth")
-    @ManagerAuth(memo = "搴撲綅鏄庣粏娣诲姞")
+    @ManagerAuth(memo = "response.loc_detl_add")
     public R add(LocDetl locDetl) {
         locDetl.setModiUser(getUserId());
         locDetl.setModiTime(new Date());
         locDetl.setAppeUser(getUserId());
         locDetl.setAppeTime(new Date());
         locDetlService.insert(locDetl);
-        return R.ok();
+        return R.ok("response.save_success");
     }
 
 	@RequestMapping(value = "/locDetl/update/auth")
-	@ManagerAuth(memo = "搴撲綅鏄庣粏淇敼")
+    @ManagerAuth(memo = "response.loc_detl_update")
     public R update(LocDetl locDetl){
         if (Cools.isEmpty(locDetl) || null==locDetl.getMatnr()){
-            return R.error();
+            return R.error("response.param_error");
         }
         locDetl.setModiUser(getUserId());
         locDetl.setModiTime(new Date());
         locDetlService.updateById(locDetl);
-        return R.ok();
+        return R.ok("response.update_success");
     }
 
     @RequestMapping(value = "/locDetl/delete/auth")
-    @ManagerAuth(memo = "搴撲綅鏄庣粏鍒犻櫎")
+    @ManagerAuth(memo = "response.loc_detl_delete")
     public R delete(@RequestParam String param){
         List<LocDetl> list = JSONArray.parseArray(param, LocDetl.class);
         if (Cools.isEmpty(list)){
-            return R.error();
+            return R.error("response.parameter_error");
         }
         for (LocDetl entity : list){
             locDetlService.delete(new EntityWrapper<>(entity));
         }
-        return R.ok();
+        return R.ok("response.delete_success");
     }
 
     @RequestMapping(value = "/locDetl/export/auth")
-    @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
+    @ManagerAuth(memo = "response.loc_detl_export")
     public R export(@RequestBody JSONObject param){
         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
         EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
         Map<String, Object> map = excludeTrash(param.getJSONObject("locDetl"));
+        String row = "";
+        if (map.get("row") != null) {
+            String chooseRow = (String) map.get("row");
+            if (chooseRow.length() == 1) {
+                row = "0" + chooseRow;
+                map.remove("row");
+            }else {
+                row = chooseRow;
+                map.remove("row");
+            }
+        }
         convert(map, wrapper);
+        if (!row.equals("")){
+            wrapper.and()
+                    .where("loc_no like '" +row +"%'");
+        }
         List<LocDetl> list = locDetlService.selectList(wrapper);
         return R.ok(exportSupport(list, fields));
     }
@@ -184,7 +224,9 @@
     public R query(@RequestBody JSONObject param) {
         Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
         if (null != locDetlService.selectOne(wrapper)){
-            return R.parse(BaseRes.REPEAT).add(getComment(LocDetl.class, String.valueOf(param.get("key"))));
+            R r = R.parse(BaseRes.REPEAT);
+            r.put("data", getComment(LocDetl.class, String.valueOf(param.get("key"))));
+            return r;
         }
         return R.ok();
     }
@@ -201,7 +243,9 @@
                 locDetl.sync(mat);
             }
         }
-        return R.ok().add(stockStatis);
+        R r = R.ok();
+        r.put("data",stockStatis);
+        return r;
     }
 
     @Autowired
@@ -209,7 +253,7 @@
 
     @RequestMapping(value = "/locDetl/statis/export")
 //    @ManagerAuth
-    public void statisExport(HttpServletResponse response) throws IOException {
+    public void statisExport(HttpServletResponse response, @RequestParam(required = false, defaultValue = "zh-cn") String lang) throws IOException {
         List<LocDetl> excel = LocDetlMapper.getStockStatisExcel();
         for (LocDetl locDetl : excel) {
             Mat mat = matService.selectByMatnr(locDetl.getMatnr());
@@ -219,12 +263,30 @@
         }
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("utf-8");
-        String fileName = URLEncoder.encode("搴撳瓨鏄庣粏缁熻鎶ヨ〃", "UTF-8");
+        boolean isEn = "en".equalsIgnoreCase(lang);
+        String fileNameStr = isEn ? "Inventory Detail Statistical Report" : "response.inventory_detail_statistical_report";
+        String fileName = URLEncoder.encode(fileNameStr, "UTF-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-        EasyExcel.write(response.getOutputStream(), LocDetl.class)
-                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
-                .sheet("琛�1")
-                .doWrite(excel);
+        
+        com.alibaba.excel.write.builder.ExcelWriterBuilder writerBuilder = EasyExcel.write(response.getOutputStream(), LocDetl.class);
+        writerBuilder.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy());
+
+        if (isEn) {
+            writerBuilder.head(getEnglishHead());
+        }
+        
+        writerBuilder.sheet("Sheet1").doWrite(excel);
+    }
+
+    private List<List<String>> getEnglishHead() {
+        List<List<String>> list = new ArrayList<>();
+        list.add(Collections.singletonList("Quantity"));
+        list.add(Collections.singletonList("Item No."));
+        list.add(Collections.singletonList("Item Name"));
+        list.add(Collections.singletonList("Spec"));
+        list.add(Collections.singletonList("Batch No."));
+        list.add(Collections.singletonList("Order No."));
+        return list;
     }
 
     /**

--
Gitblit v1.9.1