From 5dc367e929168efb90b0c7e2819a8d8880a9f2ed Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 13 十二月 2022 14:34:42 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/WrkDetlLogController.java    |   95 +++++++++++++------
 src/main/resources/mapper/WrkDetlLogMapper.xml                    |  121 ++++++++++++++++-------
 src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java |   15 ++
 src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java            |    9 +
 src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js                |    2 
 src/main/java/com/zy/asrs/service/WrkDetlLogService.java          |    7 +
 6 files changed, 178 insertions(+), 71 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WrkDetlLogController.java b/src/main/java/com/zy/asrs/controller/WrkDetlLogController.java
index 517e54d..6456b31 100644
--- a/src/main/java/com/zy/asrs/controller/WrkDetlLogController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkDetlLogController.java
@@ -16,10 +16,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 public class WrkDetlLogController extends BaseController {
@@ -38,15 +35,15 @@
      */
     @RequestMapping(value = "/wrkDetlLogByMast/list/auth")
     @ManagerAuth
-    public R list1(@RequestParam(defaultValue = "1")Integer curr,
-                   @RequestParam(defaultValue = "10")Integer limit,
+    public R list1(@RequestParam(defaultValue = "1") Integer curr,
+                   @RequestParam(defaultValue = "10") Integer limit,
                    @RequestParam Integer wrk_no,
-                   @RequestParam String ioTime){
+                   @RequestParam String ioTime) {
         EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
-        if(!Cools.isEmpty(wrk_no) && wrk_no != 0){
-            wrapper.eq("wrk_no",wrk_no);
+        if (!Cools.isEmpty(wrk_no) && wrk_no != 0) {
+            wrapper.eq("wrk_no", wrk_no);
         }
-        if(!Cools.isEmpty(ioTime)){
+        if (!Cools.isEmpty(ioTime)) {
             wrapper.eq("io_time", DateUtils.convert(ioTime, DateUtils.yyyyMMddHHmmsssss_F));
         }
         return R.ok(wrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
@@ -54,25 +51,63 @@
 
     @RequestMapping(value = "/wrkDetlLog/list/auth")
     @ManagerAuth
-    public R list(@RequestParam(defaultValue = "1")Integer curr,
-                  @RequestParam(defaultValue = "10")Integer limit,
-                  @RequestParam(required = false)String orderByField,
-                  @RequestParam(required = false)String orderByType,
-                  @RequestParam Map<String, Object> param){
+    public R list(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String orderByField,
+                  @RequestParam(required = false) String orderByType,
+                  @RequestParam Map<String, Object> param) {
         EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
         excludeTrash(param);
         convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
-        else {
+        if (!Cools.isEmpty(orderByField)) {
+            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
+        } else {
             wrapper.orderBy("modi_time", false);
         }
         return R.ok(wrkDetlLogService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
-    private void convert(Map<String, Object> map, EntityWrapper wrapper){
-        for (Map.Entry<String, Object> entry : map.entrySet()){
+    //    12.12鏂板锛屽伐浣滄槑缁嗗巻鍙叉。杩囨护鎵嬪姩鍙栨秷鐨勫伐浣滄槑缁�
+    @RequestMapping(value = "/wrkDetlLogs/list/auth")
+    @ManagerAuth
+    public R listWrkDetlLogs(@RequestParam(defaultValue = "1") Integer curr,
+                             @RequestParam(defaultValue = "10") Integer limit,
+                             @RequestParam(required = false) String orderByField,
+                             @RequestParam(required = false) String orderByType,
+                             @RequestParam(required = false) String condition,
+                             @RequestParam Map<String, Object> param) {
+        try {
+            Integer wrkNo = null;
+            String orderNo = null;
+            Date modiTimeStart = null, modiTimeEnd = null;
+            for (Map.Entry<String, Object> entry : param.entrySet()) {
+                String val = String.valueOf(entry.getValue());
+                if (Cools.isEmpty(val)) {
+                    continue;
+                }
+                if (val.contains(RANGE_TIME_LINK)) {
+                    String[] dates = val.split(RANGE_TIME_LINK);
+                    modiTimeStart = DateUtils.convert(dates[0]);
+                    modiTimeEnd = DateUtils.convert(dates[1]);
+                } else if (entry.getKey().equals("wrk_no")) {
+                    wrkNo = Integer.parseInt(val);
+                } else if (entry.getKey().equals("condition")) {
+                    orderNo = val;
+                }
+            }
+            List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectWrkDetlLogs(wrkNo, orderNo, modiTimeStart, modiTimeEnd, curr, limit);
+            Page<WrkDetlLog> page1 = new Page<WrkDetlLog>(curr, limit).setRecords(wrkDetlLogs);
+            page1.setTotal(wrkDetlLogService.selectWrkDetlLogsTotal(wrkNo, orderNo, modiTimeStart, modiTimeEnd));
+            return R.ok(page1);
+        } catch (Exception e) {
+            return R.error("寮傚父" + e);
+        }
+    }
+
+    private void convert(Map<String, Object> map, EntityWrapper wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
             String val = String.valueOf(entry.getValue());
-            if (val.contains(RANGE_TIME_LINK)){
+            if (val.contains(RANGE_TIME_LINK)) {
                 String[] dates = val.split(RANGE_TIME_LINK);
                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
@@ -89,10 +124,10 @@
         return R.ok();
     }
 
-	@RequestMapping(value = "/wrkDetlLog/update/auth")
-	@ManagerAuth
-    public R update(WrkDetlLog wrkDetlLog){
-        if (Cools.isEmpty(wrkDetlLog) || null==wrkDetlLog.getWrkNo()){
+    @RequestMapping(value = "/wrkDetlLog/update/auth")
+    @ManagerAuth
+    public R update(WrkDetlLog wrkDetlLog) {
+        if (Cools.isEmpty(wrkDetlLog) || null == wrkDetlLog.getWrkNo()) {
             return R.error();
         }
         wrkDetlLogService.updateById(wrkDetlLog);
@@ -101,12 +136,12 @@
 
     @RequestMapping(value = "/wrkDetlLog/delete/auth")
     @ManagerAuth
-    public R delete(@RequestParam String param){
+    public R delete(@RequestParam String param) {
         List<WrkDetlLog> list = JSONArray.parseArray(param, WrkDetlLog.class);
-        if (Cools.isEmpty(list)){
+        if (Cools.isEmpty(list)) {
             return R.error();
         }
-        for (WrkDetlLog entity : list){
+        for (WrkDetlLog entity : list) {
             wrkDetlLogService.delete(new EntityWrapper<>(entity));
         }
         return R.ok();
@@ -114,7 +149,7 @@
 
     @RequestMapping(value = "/wrkDetlLog/export/auth")
     @ManagerAuth
-    public R export(@RequestBody JSONObject param){
+    public R export(@RequestBody JSONObject param) {
         EntityWrapper<WrkDetlLog> wrapper = new EntityWrapper<>();
         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
         Map<String, Object> map = excludeTrash(param.getJSONObject("wrkDetlLog"));
@@ -130,7 +165,7 @@
         wrapper.like("id", condition);
         Page<WrkDetlLog> page = wrkDetlLogService.selectPage(new Page<>(0, 10), wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
-        for (WrkDetlLog wrkDetlLog : page.getRecords()){
+        for (WrkDetlLog wrkDetlLog : page.getRecords()) {
             Map<String, Object> map = new HashMap<>();
             map.put("id", wrkDetlLog.getWrkNo());
             map.put("value", wrkDetlLog.getWrkNo());
@@ -143,7 +178,7 @@
     @ManagerAuth
     public R query(@RequestBody JSONObject param) {
         Wrapper<WrkDetlLog> wrapper = new EntityWrapper<WrkDetlLog>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
-        if (null != wrkDetlLogService.selectOne(wrapper)){
+        if (null != wrkDetlLogService.selectOne(wrapper)) {
             return R.parse(BaseRes.REPEAT).add(getComment(WrkDetlLog.class, String.valueOf(param.get("key"))));
         }
         return R.ok();
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java
index 54b9216..966252a 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java
@@ -4,7 +4,11 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
 
 @Mapper
 @Repository
@@ -13,4 +17,9 @@
     @Insert("insert into asr_wrk_detl_log select * from asr_wrk_detl where wrk_no=#{workNo}")
     int save(Integer workNo);
 
+    List<WrkDetlLog> selectWrkDetlLogs(@Param("wrkNo") Integer wrkNo, @Param("orderNo") String orderNo, @Param("modiTimeStart") Date modiTimeStart, @Param("modiTimeEnd") Date modiTimeEnd, @Param("pageNumber") Integer curr, @Param("pageSize") Integer limit);
+
+    Long selectWrkDetlLogsTotal(@Param("wrkNo") Integer wrkNo, @Param("orderNo") String orderNo, @Param("modiTimeStart") Date modiTimeStart, @Param("modiTimeEnd") Date modiTimeEnd);
+
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlLogService.java b/src/main/java/com/zy/asrs/service/WrkDetlLogService.java
index 8e56fa2..b154e7f 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlLogService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlLogService.java
@@ -3,8 +3,15 @@
 import com.zy.asrs.entity.WrkDetlLog;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.Date;
+import java.util.List;
+
 public interface WrkDetlLogService extends IService<WrkDetlLog> {
 
     boolean save(Integer workNo);
 
+    List<WrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit);
+
+    Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo, Date modiTimeStart, Date modiTimeEnd);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java
index dbf91b6..bcfd042 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java
@@ -6,11 +6,24 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+import java.util.List;
+
 @Service("wrkDetlLogService")
 public class WrkDetlLogServiceImpl extends ServiceImpl<WrkDetlLogMapper, WrkDetlLog> implements WrkDetlLogService {
 
     @Override
     public boolean save(Integer workNo) {
-        return this.baseMapper.save(workNo)>0;
+        return this.baseMapper.save(workNo) > 0;
+    }
+
+    @Override
+    public List<WrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit) {
+        return this.baseMapper.selectWrkDetlLogs(wrkNo, orderNo, modiTimeStart, modiTimeEnd, curr, limit);
+    }
+
+    @Override
+    public Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo, Date modiTimeStart, Date modiTimeEnd) {
+        return this.baseMapper.selectWrkDetlLogsTotal(wrkNo, orderNo, modiTimeStart, modiTimeEnd);
     }
 }
diff --git a/src/main/resources/mapper/WrkDetlLogMapper.xml b/src/main/resources/mapper/WrkDetlLogMapper.xml
index a4a997e..eea3275 100644
--- a/src/main/resources/mapper/WrkDetlLogMapper.xml
+++ b/src/main/resources/mapper/WrkDetlLogMapper.xml
@@ -4,47 +4,90 @@
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkDetlLog">
-        <result column="wrk_no" property="wrkNo" />
-        <result column="io_time" property="ioTime" />
-        <result column="anfme" property="anfme" />
-        <result column="zpallet" property="zpallet" />
-        <result column="matnr" property="matnr" />
-        <result column="maktx" property="maktx" />
-        <result column="batch" property="batch" />
-        <result column="order_no" property="orderNo" />
+        <result column="wrk_no" property="wrkNo"/>
+        <result column="io_time" property="ioTime"/>
+        <result column="anfme" property="anfme"/>
+        <result column="zpallet" property="zpallet"/>
+        <result column="matnr" property="matnr"/>
+        <result column="maktx" property="maktx"/>
+        <result column="batch" property="batch"/>
+        <result column="order_no" property="orderNo"/>
 
-        <result column="specs" property="specs" />
-        <result column="model" property="model" />
-        <result column="color" property="color" />
-        <result column="brand" property="brand" />
-        <result column="unit" property="unit" />
-        <result column="price" property="price" />
-        <result column="sku" property="sku" />
-        <result column="units" property="units" />
-        <result column="barcode" property="barcode" />
-        <result column="origin" property="origin" />
-        <result column="manu" property="manu" />
-        <result column="manu_date" property="manuDate" />
-        <result column="item_num" property="itemNum" />
-        <result column="safe_qty" property="safeQty" />
-        <result column="weight" property="weight" />
-        <result column="length" property="length" />
-        <result column="volume" property="volume" />
-        <result column="three_code" property="threeCode" />
-        <result column="supp" property="supp" />
-        <result column="supp_code" property="suppCode" />
-        <result column="be_batch" property="beBatch" />
-        <result column="dead_time" property="deadTime" />
-        <result column="dead_warn" property="deadWarn" />
-        <result column="source" property="source" />
-        <result column="inspect" property="inspect" />
-        <result column="danger" property="danger" />
+        <result column="specs" property="specs"/>
+        <result column="model" property="model"/>
+        <result column="color" property="color"/>
+        <result column="brand" property="brand"/>
+        <result column="unit" property="unit"/>
+        <result column="price" property="price"/>
+        <result column="sku" property="sku"/>
+        <result column="units" property="units"/>
+        <result column="barcode" property="barcode"/>
+        <result column="origin" property="origin"/>
+        <result column="manu" property="manu"/>
+        <result column="manu_date" property="manuDate"/>
+        <result column="item_num" property="itemNum"/>
+        <result column="safe_qty" property="safeQty"/>
+        <result column="weight" property="weight"/>
+        <result column="length" property="length"/>
+        <result column="volume" property="volume"/>
+        <result column="three_code" property="threeCode"/>
+        <result column="supp" property="supp"/>
+        <result column="supp_code" property="suppCode"/>
+        <result column="be_batch" property="beBatch"/>
+        <result column="dead_time" property="deadTime"/>
+        <result column="dead_warn" property="deadWarn"/>
+        <result column="source" property="source"/>
+        <result column="inspect" property="inspect"/>
+        <result column="danger" property="danger"/>
 
-        <result column="modi_user" property="modiUser" />
-        <result column="modi_time" property="modiTime" />
-        <result column="appe_user" property="appeUser" />
-        <result column="appe_time" property="appeTime" />
-        <result column="memo" property="memo" />
+        <result column="modi_user" property="modiUser"/>
+        <result column="modi_time" property="modiTime"/>
+        <result column="appe_user" property="appeUser"/>
+        <result column="appe_time" property="appeTime"/>
+        <result column="memo" property="memo"/>
     </resultMap>
 
+    <sql id="batchSeq">
+        <if test="wrkNo != null and wrkNo != ''">
+            and a.wrk_no = #{wrkNo}
+        </if>
+        <if test="modiTimeStart != null ">
+            <if test="modiTimeEnd != null ">
+                and a.modi_time between #{modiTimeStart} and #{modiTimeEnd}
+            </if>
+        </if>
+        <if test="orderNo != null and orderNo != ''">
+            and ( a.order_no like concat('%',#{orderNo},'%')
+            or a.batch like concat('%',#{orderNo},'%')
+            or a.matnr like concat('%',#{orderNo},'%')
+            or a.zpallet like concat('%',#{orderNo},'%')
+            )
+        </if>
+    </sql>
+
+    <select id="selectWrkDetlLogs" resultMap="BaseResultMap">
+        select d.* from (
+        select
+        ROW_NUMBER() over (order by c.modi_time desc) as row,
+        c.* from (
+        select a.* from asr_wrk_detl_log as a ,asr_wrk_mast_log as b
+        where 1=1
+        and a.io_time=b.io_time
+        and a.wrk_no=b.wrk_no
+        and (b.manu_type is NULL or b.manu_type='鎵嬪姩瀹屾垚')
+        <include refid="batchSeq"></include>
+        ) as c
+        ) as d
+        where d.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) order by d.modi_time desc
+    </select>
+
+    <select id="selectWrkDetlLogsTotal" resultType="Long">
+        select count(*) from asr_wrk_detl_log as a ,asr_wrk_mast_log as b
+        where 1=1
+        and a.io_time=b.io_time
+        and a.wrk_no=b.wrk_no
+        and (b.manu_type is NULL or b.manu_type='鎵嬪姩瀹屾垚')
+        <include refid="batchSeq"></include>
+    </select>
+
 </mapper>
diff --git a/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js b/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js
index c4a776a..cff0da0 100644
--- a/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js
+++ b/src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js
@@ -22,7 +22,7 @@
     tableIns = table.render({
         elem: '#wrkDetlLog',
         headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/wrkDetlLog/list/auth',
+        url: baseUrl+'/wrkDetlLogs/list/auth',
         page: true,
         limit: 16,
         limits: [16, 30, 50, 100, 200, 500],

--
Gitblit v1.9.1