自动化立体仓库 - WMS系统
LSH
2023-08-29 96a5e4c782690443f9efd762273c7e2886134c3c
#绘图视图数据
6个文件已添加
5个文件已修改
470 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/PackQualifiedController.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/PackQualified.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/PackQualifiedMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MobileService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/PackQualifiedService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/PackQualifiedServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/PackQualifiedMapper.xml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -350,6 +350,46 @@
            return R.error("暂停失败");
        }
    }
    /**
     * 测试库基本信息
     */
    @RequestMapping("/pack/basic/information")
//    @ManagerAuth(memo = "测试库基本信息")
    public R packTestBasicInformation(){
        return R.ok().add(mobileService.packTestBasicInformation());
    }
    /**
     * 测试库使用情况
     */
    @RequestMapping("/pack/usage/rate")
//    @ManagerAuth(memo = "测试库使用情况")
    public R packUsageRate(){
        return R.ok().add(mobileService.packUsageRate());
    }
    /**
     * 测试库合格数
     */
    @RequestMapping("/pack/qualified")
//    @ManagerAuth(memo = "测试库合格数")
    public R packQualified(){
        return R.ok().add(mobileService.packQualified());
    }
    /**
     * 早8-晚20
     */
    @RequestMapping("/pack/morning")
//    @ManagerAuth(memo = "测试库合格数")
    public R chartAxisMorning(){
        return R.ok().add(mobileService.chartAxisMorning());
    }
    /**
     * 晚20-第二天早8
     */
    @RequestMapping("/pack/evening")
//    @ManagerAuth(memo = "测试库合格数")
    public R chartAxisEvening(){
        return R.ok().add(mobileService.chartAxisEvening());
    }
    /*...........................赣州新增..............以上.............赣州新增...........................*/
src/main/java/com/zy/asrs/controller/PackQualifiedController.java
New file
@@ -0,0 +1,123 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import com.zy.asrs.entity.PackQualified;
import com.zy.asrs.service.PackQualifiedService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
public class PackQualifiedController extends BaseController {
    @Autowired
    private PackQualifiedService packQualifiedService;
    @RequestMapping(value = "/packQualified/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(packQualifiedService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/packQualified/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){
        EntityWrapper<PackQualified> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        return R.ok(packQualifiedService.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()){
            String val = String.valueOf(entry.getValue());
            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]));
            } else {
                wrapper.like(entry.getKey(), val);
            }
        }
    }
    @RequestMapping(value = "/packQualified/add/auth")
    @ManagerAuth
    public R add(PackQualified packQualified) {
        packQualifiedService.insert(packQualified);
        return R.ok();
    }
    @RequestMapping(value = "/packQualified/update/auth")
    @ManagerAuth
    public R update(PackQualified packQualified){
        if (Cools.isEmpty(packQualified) || null==packQualified.getId()){
            return R.error();
        }
        packQualifiedService.updateById(packQualified);
        return R.ok();
    }
    @RequestMapping(value = "/packQualified/delete/auth")
    @ManagerAuth
    public R delete(@RequestParam(value="ids[]") Long[] ids){
         for (Long id : ids){
            packQualifiedService.deleteById(id);
        }
        return R.ok();
    }
    @RequestMapping(value = "/packQualified/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param){
        EntityWrapper<PackQualified> wrapper = new EntityWrapper<>();
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("packQualified"));
        convert(map, wrapper);
        List<PackQualified> list = packQualifiedService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/packQualifiedQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<PackQualified> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<PackQualified> page = packQualifiedService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (PackQualified packQualified : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", packQualified.getId());
            map.put("value", packQualified.getId());
            result.add(map);
        }
        return R.ok(result);
    }
    @RequestMapping(value = "/packQualified/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<PackQualified> wrapper = new EntityWrapper<PackQualified>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != packQualifiedService.selectOne(wrapper)){
            return R.parse(BaseRes.REPEAT).add(getComment(PackQualified.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
}
src/main/java/com/zy/asrs/entity/PackQualified.java
New file
@@ -0,0 +1,71 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
@Data
@TableName("man_pack_qualified")
public class PackQualified implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value= "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty(value= "")
    private Integer qualified;
    @ApiModelProperty(value= "")
    private Integer unqualified;
    @ApiModelProperty(value= "")
    private String total;
    @ApiModelProperty(value= "")
    private String circumference;
    @ApiModelProperty(value= "")
    @TableField("create_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    public PackQualified() {}
    public PackQualified(Integer qualified,Integer unqualified,String total,String circumference,Date createTime) {
        this.qualified = qualified;
        this.unqualified = unqualified;
        this.total = total;
        this.circumference = circumference;
        this.createTime = createTime;
    }
//    PackQualified packQualified = new PackQualified(
//            null,    //
//            null,    //
//            null,    //
//            null,    //
//            null    //
//    );
    public String getCreateTime$(){
        if (Cools.isEmpty(this.createTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
}
src/main/java/com/zy/asrs/mapper/PackQualifiedMapper.java
New file
@@ -0,0 +1,19 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.PackQualified;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
@Mapper
@Repository
public interface PackQualifiedMapper extends BaseMapper<PackQualified> {
    Integer selectTotal(@Param("data1") Date data1,@Param("data2")  Date data2);
    Integer selectCurrentQuantity(@Param("data1") Date data1,@Param("data2") Date data2);
    Integer selectCurrentQuantity2(@Param("data1") Date data1,@Param("data2") Date data2);
}
src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java
@@ -69,6 +69,16 @@
            + "where ymd>CONVERT(char(10), DATEADD(DAY,-12,GETDATE()), 120) group by ymd order by ymd")
    public List<WorkChartAxis> getChartAxis();
    //曲线图
    @Select("select ymd,SUM(sto_qty) inqty,SUM(ret_qty) outqty from asr_sta_inout_evening_view "
            + "where 1=1 group by ymd order by ymd")
    public List<WorkChartAxis> getChartAxisEvening();
    //曲线图
    @Select("select ymd,SUM(sto_qty) inqty,SUM(ret_qty) outqty from asr_sta_inout_morning_view "
            + "where 1=1 group by ymd order by ymd")
    public List<WorkChartAxis> getChartAxisMorning();
    List<ViewWorkCountInView> selectWorkCountIn(@Param("curr") Integer curr, @Param("limit") Integer limit, @Param("matnr")String matnr, @Param("start") String startTime, @Param("end") String endTime);
    Integer selectWorkCountInTotal(String matnr, @Param("start") String startTime, @Param("end") String endTime);
src/main/java/com/zy/asrs/service/MobileService.java
@@ -1,16 +1,15 @@
package com.zy.asrs.service;
import com.alibaba.fastjson.JSONObject;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.TestMast;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.Review;
import com.zy.asrs.service.impl.MobileServiceImpl;
import com.zy.asrs.task.core.ReturnT;
import java.util.Date;
import java.util.List;
public interface MobileService {
@@ -41,4 +40,10 @@
    //暂停测试
    boolean suspendTestPACK(String channel);
    List<LocMast> packTestBasicInformation();
    List<MobileServiceImpl.PackUsageRate> packUsageRate();
    List<MobileServiceImpl.PackUsageRate2> packQualified();
    List<WorkChartAxis> chartAxisEvening();
    List<WorkChartAxis> chartAxisMorning();
}
src/main/java/com/zy/asrs/service/PackQualifiedService.java
New file
@@ -0,0 +1,11 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.PackQualified;
import com.baomidou.mybatisplus.service.IService;
import java.util.Date;
public interface PackQualifiedService extends IService<PackQualified> {
    Integer selectTotal(Date data1,Date data2);
    Integer selectCurrentQuantity(Boolean sign,Date data1,Date data2);
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -12,12 +12,14 @@
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.Review;
import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WorkLogHandler;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.PostMesDataUtils;
import com.zy.asrs.utils.Utils;
import com.zy.common.CodeRes;
import com.zy.common.constant.MesConstant;
import com.zy.common.entity.Parameter;
@@ -25,6 +27,7 @@
import com.zy.common.model.MesCombParam;
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -84,6 +87,10 @@
    private TestMastService testMastService;
    @Autowired
    private WorkService workService;
    @Autowired
    private PackQualifiedService packQualifiedService;
    @Autowired
    private ReportQueryMapper reportQueryMapper;
    @Value("${mes.url}")
    private String mesUrl;
@@ -802,5 +809,88 @@
            return FAIL.setMsg(e.getMessage());
        }
    }
    /*
    * 测试库信息
    * */
    @Override
    @Transactional
    public List<LocMast> packTestBasicInformation() {
        return locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_type1", 1).and().ne("loc_sts","O"));
    }
    /*
     * 测试库使用情况
     * */
    @Override
    @Transactional
    public List<PackUsageRate> packUsageRate() {
        ArrayList<PackUsageRate> packUsageRates = new ArrayList<>();
        for (int i = 0 ;i<5;i++){
            PackUsageRate packUsageRate = new PackUsageRate();
            packUsageRate.setTotal(locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_type1", i)));
            packUsageRate.setCurrentQuantity(locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_type1", i).and().ne("loc_sts","O")));
            packUsageRates.add(packUsageRate);
        }
        return packUsageRates;
    }
    @Data
    public static class PackUsageRate{
        private int total;
        private int currentQuantity;
    }
    @Data
    public static class PackUsageRate2{
        private int total;
        private int qualified;
        private int unqualified;
        private String week;
    }
    /*
     * 测试库合格数
     * */
    @Override
    @Transactional
    public List<PackUsageRate2> packQualified() {
        Date now = new Date();
        Date date7 = Utils.timeYesterday(now);
        Date date14 = Utils.timeYesterday(date7);
        ArrayList<PackUsageRate2> packUsageRates = new ArrayList<>();
        PackUsageRate2 packUsageRate = new PackUsageRate2();
        packUsageRate.setTotal(packQualifiedService.selectTotal(date7,now));
        packUsageRate.setQualified(packQualifiedService.selectCurrentQuantity(true,date7,now));
        packUsageRate.setUnqualified(packQualifiedService.selectCurrentQuantity(false,date7,now));
        packUsageRate.setWeek("本周");
        packUsageRates.add(packUsageRate);
        PackUsageRate2 packUsageRate2 = new PackUsageRate2();
        packUsageRate2.setTotal(packQualifiedService.selectTotal(date14,date7));
        packUsageRate2.setQualified(packQualifiedService.selectCurrentQuantity(true,date14,date7));
        packUsageRate2.setUnqualified(packQualifiedService.selectCurrentQuantity(false,date14,date7));
        packUsageRate2.setWeek("上周");
        packUsageRates.add(packUsageRate2);
        return packUsageRates;
    }
    /*
     * 测试库合格数
     * */
    @Override
    @Transactional
    public List<WorkChartAxis> chartAxisEvening() {
        return reportQueryMapper.getChartAxisEvening();
    }
    /*
     * 测试库合格数
     * */
    @Override
    @Transactional
    public List<WorkChartAxis> chartAxisMorning() {
        return reportQueryMapper.getChartAxisMorning();
    }
    /*...........................赣州新增..............以上.............赣州新增...........................*/
}
src/main/java/com/zy/asrs/service/impl/PackQualifiedServiceImpl.java
New file
@@ -0,0 +1,26 @@
package com.zy.asrs.service.impl;
import com.zy.asrs.mapper.PackQualifiedMapper;
import com.zy.asrs.entity.PackQualified;
import com.zy.asrs.service.PackQualifiedService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service("packQualifiedService")
public class PackQualifiedServiceImpl extends ServiceImpl<PackQualifiedMapper, PackQualified> implements PackQualifiedService {
    @Override
    public Integer selectTotal(Date data1, Date data2){
        return this.baseMapper.selectTotal(data1,data2);
    }
    @Override
    public Integer selectCurrentQuantity(Boolean sign,Date data1,Date data2){
        if (sign){
            return this.baseMapper.selectCurrentQuantity(data1,data2);
        }
        return this.baseMapper.selectCurrentQuantity2(data1,data2);
    }
}
src/main/java/com/zy/asrs/utils/Utils.java
@@ -6,6 +6,8 @@
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
@@ -161,15 +163,28 @@
    }
    //获取前一周的日期(日期天数减7)
    public static Date timeYesterday(Date date){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH, -7);
        return calendar.getTime();
    }
    public static void main(String[] args) {
        SlaveProperties slaveProperties = new SlaveProperties();
        slaveProperties.setDoubleDeep(true);
        List<Integer> list = new ArrayList<>();
        list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
        slaveProperties.setDoubleLocs(list);
        slaveProperties.setGroupCount(4);
        Integer deepRow = getDeepRow(slaveProperties, 6);
        System.out.println(deepRow);
//        SlaveProperties slaveProperties = new SlaveProperties();
//        slaveProperties.setDoubleDeep(true);
//        List<Integer> list = new ArrayList<>();
//        list.add(1);list.add(4);list.add(5);list.add(8);list.add(9);list.add(12);
//        slaveProperties.setDoubleLocs(list);
//        slaveProperties.setGroupCount(4);
//        Integer deepRow = getDeepRow(slaveProperties, 6);
//        System.out.println(deepRow);
        Date date = new Date();
        System.out.println(date);
        Date date1 = timeYesterday(date);
        System.out.println(date1);
    }
}
src/main/resources/mapper/PackQualifiedMapper.xml
New file
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.PackQualifiedMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.PackQualified">
        <id column="id" property="id" />
        <result column="qualified" property="qualified" />
        <result column="unqualified" property="unqualified" />
        <result column="total" property="total" />
        <result column="circumference" property="circumference" />
        <result column="create_time" property="createTime" />
    </resultMap>
    <select id="selectTotal" resultType="java.lang.Integer">
        select count (1) from man_pack_qualified where 1=1
        and create_time >= #{data1}
        and create_time &lt;= #{data2}
    </select>
    <select id="selectCurrentQuantity" resultType="java.lang.Integer">
        select count (1) from man_pack_qualified where 1=1
        and create_time >= #{data1}
        and create_time &lt;= #{data2}
        and qualified = 1
    </select>
    <select id="selectCurrentQuantity2" resultType="java.lang.Integer">
        select count (1) from man_pack_qualified where 1=1
        and create_time >= #{data1}
        and create_time &lt;= #{data2}
        and unqualified = 1
    </select>
</mapper>