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