自动化立体仓库 - WMS系统
#
LSH
2022-12-13 5dc367e929168efb90b0c7e2819a8d8880a9f2ed
#
6个文件已修改
249 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/WrkDetlLogController.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkDetlLogService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlLogMapper.xml 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/wrkDetlLog/wrkDetlLog.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
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);
}
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);
}
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);
    }
}
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>
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],