| | |
| | | package com.zy.asrs.common.wms.entity; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.zy.asrs.common.sys.entity.User; |
| | | import com.zy.asrs.common.sys.service.UserService; |
| | | import com.zy.asrs.common.wms.service.MatService; |
| | | import com.zy.asrs.framework.common.Cools; |
| | | import com.zy.asrs.framework.common.SpringUtils; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | @ApiModelProperty(value= "备注") |
| | | private String memo; |
| | | |
| | | @ApiModelProperty(value= "货主") |
| | | private String owner; |
| | | |
| | | public String getModiUser$(){ |
| | | UserService service = SpringUtils.getBean(UserService.class); |
| | | User user = service.getById(this.modiUser); |
| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime); |
| | | } |
| | | |
| | | public void setQueryDate(String queryDate) { |
| | | this.queryDate = queryDate; |
| | | if (queryDate.contains(" - ")) { |
| | | String[] dates = queryDate.split(" - "); |
| | | this.beginDate = dates[0]; |
| | | this.endDate = dates[1]; |
| | | public Mat getMat$(){ |
| | | MatService service = SpringUtils.getBean(MatService.class); |
| | | Mat mat = service.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)); |
| | | if (!Cools.isEmpty(mat)){ |
| | | return mat; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public void setQueryDate(String queryDate) { |
| | | if(!Cools.isEmpty(queryDate)){ |
| | | this.queryDate = queryDate; |
| | | if (queryDate.contains(" - ")) { |
| | | String[] dates = queryDate.split(" - "); |
| | | this.beginDate = dates[0]; |
| | | this.endDate = dates[1]; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | @Mapper |
| | |
| | | //分页查询库位使用率 |
| | | IPage<ViewStockUseBean> queryViewStockUseList(IPage<?> page, ViewStockUseBean viewStockUse); |
| | | |
| | | List<ViewStockUseBean> getViewStockUseAll(ViewStockUseBean viewStockUse); |
| | | |
| | | //分页查询库存滞留时间 |
| | | IPage<ViewStayTimeBean> queryViewStayTimeList(IPage<?> page, ViewStayTimeBean viewStayTime); |
| | | |
| | | //不分页查询所有信息,用于excel导出 |
| | | List<ViewStayTimeBean> getViewStayTimeAll(Map<String, Object> map); |
| | | |
| | | //分页查询站点入出库次数统计 |
| | | IPage<ViewInOutBean> queryViewInOutList(IPage<?> page, ViewInOutBean viewInOut); |
| | |
| | | //分页查询日入库记录 |
| | | IPage<ViewWorkInBean> queryViewWorkInList(IPage<?> page, ViewWorkInBean viewWorkIn); |
| | | |
| | | //不分页查询所有信息,用于excel导出 |
| | | List<ViewWorkInBean> getViewWorkInAll(Map<String, Object> map); |
| | | |
| | | //分页查询日出库记录 |
| | | IPage<ViewWorkInBean> queryViewWorkOutList(IPage<?> page, ViewWorkInBean viewWorkIn); |
| | | |
| | | //不分页查询所有信息,用于excel导出 |
| | | List<ViewWorkInBean> getViewWorkOutAll(Map<String, Object> map); |
| | | |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.zy.asrs.common.wms.mapper.ReportQueryMapper"> |
| | | |
| | | <sql id="viewStockUseConditionSql"> |
| | | <if test="row1!=null and row1!='' "> |
| | | and row1 like '%' + #{row1} + '%' |
| | | </if> |
| | | </sql> |
| | | |
| | | <!-- 分页查询所有信息 --> |
| | | <select id="queryViewStockUseList" parameterType="com.zy.asrs.common.wms.entity.ViewStockUseBean" resultType="com.zy.asrs.common.wms.entity.ViewStockUseBean"> |
| | | select * from asr_stk_use_view |
| | | </select> |
| | | |
| | | <!-- 不分页查询所有信息,用于excel导出 --> |
| | | <select id="getViewStockUseAll" parameterType="com.zy.asrs.common.wms.entity.ViewStockUseBean" resultType="com.zy.asrs.common.wms.entity.ViewStockUseBean"> |
| | | select * from asr_stk_use_view |
| | | where 1=1 |
| | | <include refid="viewStockUseConditionSql"></include> |
| | | order by row1 asc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.zy.asrs.common.wms.mapper.ReportQueryMapper"> |
| | | |
| | | <!-- mapper不支持sql语句嵌套时,采用sql片段包含方式,解决xml标签问题 --> |
| | | <sql id="viewStayTimeConditionSql"> |
| | | <if test="viewStayTime.locNo!=null and viewStayTime.locNo!='' "> |
| | | and common_loc_mast.loc_no like '%' + #{viewStayTime.locNo} + '%' |
| | | </if> |
| | | <if test="viewStayTime.matnr!=null and viewStayTime.matnr!='' "> |
| | | and matnr like '%' + #{viewStayTime.matnr} + '%' |
| | | </if> |
| | | </sql> |
| | | <!-- mapper不支持sql语句嵌套时,采用sql片段包含方式,解决xml标签问题 --> |
| | | <sql id="viewStayTimeConditionSql"> |
| | | <if test="viewStayTime.locNo!=null and viewStayTime.locNo!='' "> |
| | | and common_loc_mast.loc_no like '%' + #{viewStayTime.locNo} + '%' |
| | | </if> |
| | | <if test="viewStayTime.matnr!=null and viewStayTime.matnr!='' "> |
| | | and wms_loc_detl.matnr like '%' + #{viewStayTime.matnr} + '%' |
| | | </if> |
| | | </sql> |
| | | |
| | | <!-- 分页查询所有信息 --> |
| | | <select id="queryViewStayTimeList" parameterType="com.zy.asrs.common.wms.entity.ViewStayTimeBean" resultType="com.zy.asrs.common.wms.entity.ViewStayTimeBean"> |
| | | SELECT |
| | | GETDATE() AS today |
| | | , CONVERT(decimal, DATEDIFF(second,wms_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time |
| | | , wms_loc_detl.* |
| | | FROM wms_loc_detl |
| | | INNER JOIN common_loc_mast ON wms_loc_detl.loc_no = common_loc_mast.loc_no and wms_loc_detl.host_id = common_loc_mast.host_id |
| | | where 1=1 |
| | | <include refid="viewStayTimeConditionSql"></include> |
| | | </select> |
| | | <!-- 分页查询所有信息 --> |
| | | <select id="queryViewStayTimeList" parameterType="com.zy.asrs.common.wms.entity.ViewStayTimeBean" resultType="com.zy.asrs.common.wms.entity.ViewStayTimeBean"> |
| | | SELECT |
| | | GETDATE() AS today |
| | | , CONVERT(decimal, DATEDIFF(second,wms_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time |
| | | , wms_loc_detl.* |
| | | FROM wms_loc_detl |
| | | INNER JOIN common_loc_mast ON wms_loc_detl.loc_no = common_loc_mast.loc_no and wms_loc_detl.host_id = common_loc_mast.host_id |
| | | where 1=1 |
| | | <include refid="viewStayTimeConditionSql"></include> |
| | | </select> |
| | | |
| | | <!-- 不分页查询所有信息,用于excel导出 --> |
| | | <select id="getViewStayTimeAll" parameterType="map" resultType="com.zy.asrs.common.wms.entity.ViewStayTimeBean"> |
| | | SELECT |
| | | GETDATE() AS today |
| | | , CONVERT(decimal, DATEDIFF(second,wms_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time |
| | | , wms_loc_detl.* |
| | | FROM wms_loc_detl |
| | | INNER JOIN common_loc_mast ON wms_loc_detl.loc_no = common_loc_mast.loc_no and wms_loc_detl.host_id = common_loc_mast.host_id |
| | | where 1=1 |
| | | <if test="locNo!=null and locNo!='' "> |
| | | and wms_loc_detl.loc_no like '%' + #{locNo} + '%' |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.zy.asrs.common.wms.mapper.ReportQueryMapper"> |
| | | |
| | | <!-- mapper不支持sql语句嵌套时,采用sql片段包含方式,解决xml标签问题 --> |
| | | <sql id="viewWorkInConditionSql"> |
| | | <if test="viewWorkIn.locNo!=null and viewWorkIn.locNo!='' "> |
| | | and loc_no like '%' + #{viewWorkIn.locNo} + '%' |
| | | <!-- mapper不支持sql语句嵌套时,采用sql片段包含方式,解决xml标签问题 --> |
| | | <sql id="viewWorkInConditionSql"> |
| | | <if test="viewWorkIn.locNo!=null and viewWorkIn.locNo!='' "> |
| | | and loc_no like '%' + #{viewWorkIn.locNo} + '%' |
| | | </if> |
| | | <if test="viewWorkIn.matnr!=null and viewWorkIn.matnr!='' "> |
| | | and matnr like '%' + #{viewWorkIn.matnr} + '%' |
| | | </if> |
| | | <if test="viewWorkIn.maktx!=null and viewWorkIn.maktx!='' "> |
| | | and (maktx like '%' + #{viewWorkIn.maktx} + '%' |
| | | or matnr like '%' + #{viewWorkIn.maktx} + '%' |
| | | or lgnum like '%' + #{viewWorkIn.maktx} + '%' |
| | | or tbnum like '%' + #{viewWorkIn.maktx} + '%' |
| | | or tbpos like '%' + #{viewWorkIn.maktx} + '%' |
| | | or zmatid like '%' + #{viewWorkIn.maktx} + '%' |
| | | or maktx like '%' + #{viewWorkIn.maktx} + '%' |
| | | or werks like '%' + #{viewWorkIn.maktx} + '%' |
| | | or anfme like '%' + #{viewWorkIn.maktx} + '%' |
| | | or altme like '%' + #{viewWorkIn.maktx} + '%' |
| | | or zpallet like '%' + #{viewWorkIn.maktx} + '%' |
| | | or bname like '%' + #{viewWorkIn.maktx} + '%' |
| | | ) |
| | | </if> |
| | | <if test="viewWorkIn.beginDate!=null and viewWorkIn.beginDate!='' "> |
| | | <![CDATA[ |
| | | and io_time >= #{viewWorkIn.beginDate} |
| | | ]]> |
| | | </if> |
| | | <if test="viewWorkIn.endDate!=null and viewWorkIn.endDate!='' "> |
| | | <![CDATA[ |
| | | and io_time <= #{viewWorkIn.endDate} |
| | | ]]> |
| | | </if> |
| | | </sql> |
| | | |
| | | <sql id="viewWorkInConditionMapSql"> |
| | | <if test="locNo!=null and locNo!='' "> |
| | | and loc_no like '%' + #{locNo} + '%' |
| | | </if> |
| | | <if test="viewWorkIn.matnr!=null and viewWorkIn.matnr!='' "> |
| | | and matnr like '%' + #{viewWorkIn.matnr} + '%' |
| | | <if test="matnr!=null and matnr!='' "> |
| | | and matnr like '%' + #{matnr} + '%' |
| | | </if> |
| | | <if test="viewWorkIn.maktx!=null and viewWorkIn.maktx!='' "> |
| | | and (maktx like '%' + #{viewWorkIn.maktx} + '%' |
| | | or matnr like '%' + #{viewWorkIn.maktx} + '%' |
| | | or lgnum like '%' + #{viewWorkIn.maktx} + '%' |
| | | or tbnum like '%' + #{viewWorkIn.maktx} + '%' |
| | | or tbpos like '%' + #{viewWorkIn.maktx} + '%' |
| | | or zmatid like '%' + #{viewWorkIn.maktx} + '%' |
| | | or maktx like '%' + #{viewWorkIn.maktx} + '%' |
| | | or werks like '%' + #{viewWorkIn.maktx} + '%' |
| | | or anfme like '%' + #{viewWorkIn.maktx} + '%' |
| | | or altme like '%' + #{viewWorkIn.maktx} + '%' |
| | | or zpallet like '%' + #{viewWorkIn.maktx} + '%' |
| | | or bname like '%' + #{viewWorkIn.maktx} + '%' |
| | | <if test="maktx!=null and maktx!='' "> |
| | | and (maktx like '%' + #{maktx} + '%' |
| | | or matnr like '%' + #{maktx} + '%' |
| | | or lgnum like '%' + #{maktx} + '%' |
| | | or tbnum like '%' + #{maktx} + '%' |
| | | or tbpos like '%' + #{maktx} + '%' |
| | | or zmatid like '%' + #{maktx} + '%' |
| | | or maktx like '%' + #{maktx} + '%' |
| | | or werks like '%' + #{maktx} + '%' |
| | | or anfme like '%' + #{maktx} + '%' |
| | | or altme like '%' + #{maktx} + '%' |
| | | or zpallet like '%' + #{maktx} + '%' |
| | | or bname like '%' + #{maktx} + '%' |
| | | ) |
| | | </if> |
| | | <if test="viewWorkIn.beginDate!=null and viewWorkIn.beginDate!='' "> |
| | | <if test="beginDate!=null and beginDate!='' "> |
| | | <![CDATA[ |
| | | and io_time >= #{viewWorkIn.beginDate} |
| | | and io_time >= #{beginDate} |
| | | ]]> |
| | | </if> |
| | | <if test="viewWorkIn.endDate!=null and viewWorkIn.endDate!='' "> |
| | | <if test="endDate!=null and endDate!='' "> |
| | | <![CDATA[ |
| | | and io_time <= #{viewWorkIn.endDate} |
| | | and io_time <= #{endDate} |
| | | ]]> |
| | | </if> |
| | | </sql> |
| | | </sql> |
| | | |
| | | <!-- 入库统计 --> |
| | | <!-- 分页查询所有信息 --> |
| | | <select id="queryViewWorkInList" parameterType="com.zy.asrs.common.wms.entity.ViewWorkInBean" resultType="com.zy.asrs.common.wms.entity.ViewWorkInBean"> |
| | | select * from asr_wrkin_view |
| | | where 1=1 |
| | | <include refid="viewWorkInConditionSql"></include> |
| | | </select> |
| | | <!-- 入库统计 --> |
| | | <!-- 分页查询所有信息 --> |
| | | <select id="queryViewWorkInList" parameterType="com.zy.asrs.common.wms.entity.ViewWorkInBean" resultType="com.zy.asrs.common.wms.entity.ViewWorkInBean"> |
| | | select * from asr_wrkin_view |
| | | where 1=1 |
| | | <include refid="viewWorkInConditionSql"></include> |
| | | </select> |
| | | |
| | | <!-- 出库统计 --> |
| | | <!-- 分页查询所有信息 --> |
| | | <select id="queryViewWorkOutList" parameterType="com.zy.asrs.common.wms.entity.ViewWorkInBean" resultType="com.zy.asrs.common.wms.entity.ViewWorkInBean"> |
| | | select * |
| | | from asr_wrkout_view |
| | | where 1=1 |
| | | <include refid="viewWorkInConditionSql"></include> |
| | | </select> |
| | | <!-- 不分页查询所有信息,用于excel导出 --> |
| | | <select id="getViewWorkInAll" parameterType="map" resultType="com.zy.asrs.common.wms.entity.ViewWorkInBean"> |
| | | select * from asr_wrkin_view |
| | | where 1=1 |
| | | <include refid="viewWorkInConditionMapSql"></include> |
| | | </select> |
| | | |
| | | <!-- 出库统计 --> |
| | | <!-- 分页查询所有信息 --> |
| | | <select id="queryViewWorkOutList" parameterType="com.zy.asrs.common.wms.entity.ViewWorkInBean" resultType="com.zy.asrs.common.wms.entity.ViewWorkInBean"> |
| | | select * |
| | | from asr_wrkout_view |
| | | where 1=1 |
| | | <include refid="viewWorkInConditionSql"></include> |
| | | </select> |
| | | |
| | | <!-- 不分页查询所有信息,用于excel导出 --> |
| | | <select id="getViewWorkOutAll" parameterType="map" resultType="com.zy.asrs.common.wms.entity.ViewWorkInBean"> |
| | | select * |
| | | from asr_wrkout_view a |
| | | where 1=1 |
| | | <include refid="viewWorkInConditionMapSql"></include> |
| | | Order by a.io_time desc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | if(Cools.eq(entry.getKey(),"curr") |
| | | || Cools.eq(entry.getKey(),"limit") |
| | | || Cools.eq(entry.getKey(),"unreason") |
| | | || Cools.eq(entry.getKey(),"orderByField") |
| | | || Cools.eq(entry.getKey(),"orderByType") |
| | | || Cools.eq(entry.getKey(),"row") |
| | | || Cools.eq(entry.getKey(),"condition")){ |
| | | continue; |
| | |
| | | @ManagerAuth |
| | | public R page(@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(required = false) String timeRange, |
| | | @RequestParam Map<String, Object> param) { |
| | |
| | | wrapper.eq("loc_no", param.get("locNo")); |
| | | } |
| | | |
| | | if (!Cools.isEmpty(orderByField)){ |
| | | wrapper.orderBy(true, "asc".equals(orderByType), humpToLine(orderByField)); |
| | | } |
| | | |
| | | param.remove("locNo"); |
| | | param.remove("owner"); |
| | | param.remove("zpallet"); |
| | |
| | | package com.zy.asrs.wms.controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.zy.asrs.common.web.BaseController; |
| | |
| | | import com.zy.asrs.common.wms.entity.ViewStockUseBean; |
| | | import com.zy.asrs.common.wms.entity.ViewWorkInBean; |
| | | import com.zy.asrs.common.wms.mapper.ReportQueryMapper; |
| | | import com.zy.asrs.framework.annotations.ManagerAuth; |
| | | import com.zy.asrs.framework.common.Cools; |
| | | import com.zy.asrs.framework.common.R; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | |
| | | return R.ok(list); |
| | | } |
| | | |
| | | // 导出 |
| | | @RequestMapping(value = "/viewStockUseExport.action") |
| | | @ManagerAuth(memo = "库位使用统计导出") |
| | | public R viewStockUseExport(@RequestBody JSONObject param){ |
| | | List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); |
| | | List<ViewStockUseBean> list = reportQueryMapper.getViewStockUseAll(new ViewStockUseBean()); |
| | | return R.ok(exportSupport(list, fields)); |
| | | } |
| | | |
| | | //------------------库存滞留统计-------------------------------------- |
| | | @RequestMapping("/viewStayTimeList.action") |
| | | public Map<String,Object> queryViewStayTimeListByPages(@RequestParam(defaultValue = "1")Integer curr, |
| | |
| | | ViewStayTimeBean bean = new ViewStayTimeBean(); |
| | | bean.setPageSize(limit); |
| | | bean.setPageNumber(curr); |
| | | String locNo = String.valueOf(param.get("loc_no")); |
| | | String locNo = String.valueOf(param.get("locNo")); |
| | | if (!Cools.isEmpty(locNo) && !locNo.equals("null")) { |
| | | bean.setLocNo(locNo); |
| | | } |
| | |
| | | Page<ViewStayTimeBean> page = new Page<>(curr, limit); |
| | | IPage<ViewStayTimeBean> list = reportQueryMapper.queryViewStayTimeList(page, bean); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | // 导出 |
| | | @RequestMapping(value = "/viewStayTimeExport.action") |
| | | @ManagerAuth(memo = "库存滞留统计导出") |
| | | public R viewStayTimeExport(@RequestBody JSONObject param){ |
| | | List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); |
| | | Map map = param.getObject("exportData", Map.class); |
| | | List<ViewStayTimeBean> list = reportQueryMapper.getViewStayTimeAll(map); |
| | | return R.ok(exportSupport(list, fields)); |
| | | } |
| | | |
| | | //------------------站点日入出库次数统计-------------------------------------- |
| | |
| | | //------------------日入库明细统计-------------------------------------- |
| | | @RequestMapping("/viewWorkInList.action") |
| | | public Map<String,Object> viewWorkInList(ViewWorkInBean bean){ |
| | | Page<ViewWorkInBean> page = new Page<>(1, 99999); |
| | | Page<ViewWorkInBean> page = new Page<>(bean.getPageNumber(), bean.getPageSize()); |
| | | IPage<ViewWorkInBean> list = reportQueryMapper.queryViewWorkInList(page, bean); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | //excel导出 |
| | | @RequestMapping("/viewWorkInExport.action") |
| | | @ManagerAuth(memo = "日入库明细统计导出") |
| | | public R viewWorkInExport(@RequestBody JSONObject param){ |
| | | List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); |
| | | @SuppressWarnings("unchecked") |
| | | ViewWorkInBean bean = Cools.conver((Map<? extends String, ?>) param.get("exportData"), ViewWorkInBean.class); |
| | | bean.setQueryDate(bean.getQueryDate()); |
| | | Map map = JSON.parseObject(JSON.toJSONString(bean), Map.class); |
| | | List<ViewWorkInBean> list = reportQueryMapper.getViewWorkInAll(map); |
| | | return R.ok(exportSupport(list, fields)); |
| | | } |
| | | |
| | | //------------------日出库明细统计-------------------------------------- |
| | | @RequestMapping("/viewWorkOutList.action") |
| | | public R viewWorkOutList(ViewWorkInBean bean){ |
| | | Page<ViewWorkInBean> page = new Page<>(1, 99999); |
| | | Page<ViewWorkInBean> page = new Page<>(bean.getPageNumber(), bean.getPageSize()); |
| | | IPage<ViewWorkInBean> list = reportQueryMapper.queryViewWorkOutList(page, bean); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | //excel导出 |
| | | @RequestMapping("/viewWorkOutExport.action") |
| | | @ManagerAuth(memo = "日出库明细统计导出") |
| | | public R viewWorkOutExport(@RequestBody JSONObject param){ |
| | | List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); |
| | | @SuppressWarnings("unchecked") |
| | | ViewWorkInBean bean = Cools.conver((Map<? extends String, ?>) param.get("exportData"), ViewWorkInBean.class); |
| | | bean.setQueryDate(bean.getQueryDate()); |
| | | Map map = JSON.parseObject(JSON.toJSONString(bean), Map.class); |
| | | List<ViewWorkInBean> list = reportQueryMapper.getViewWorkOutAll(map); |
| | | return R.ok(exportSupport(list, fields)); |
| | | } |
| | | |
| | | } |
| | |
| | | // 监听头工具栏事件 |
| | | table.on('toolbar(stayTime)', function (obj) { |
| | | var checkStatus = table.checkStatus(obj.config.id); |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | switch(obj.event) { |
| | | case 'exportData': |
| | | layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ |
| | |
| | | } |
| | | }); |
| | | var param = { |
| | | 'fields': fields |
| | | 'fields': fields, |
| | | 'exportData': searchData |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/report/viewStayTimeExport.action", |
| | |
| | | var pageCurr; |
| | | function getCol() { |
| | | var cols = [ |
| | | {field: 'ioTime$', align: 'center', title: '入库日期', width: 200}, |
| | | {field: 'io_time', align: 'center', title: '入库日期', width: 200} |
| | | ,{field: 'loc_no', align: 'center',title: '库位号'} |
| | | {field: 'ioTime$', align: 'center', title: '入库日期', width: 200} |
| | | ,{field: 'locNo', align: 'center',title: '库位号'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | return cols; |
| | |
| | | data: JSON.stringify(param), |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | xhrFields: { |
| | | responseType: "blob" // 设置响应类型为二进制数据 |
| | | }, |
| | | success: function (res) { |
| | | // 创建一个临时的下载链接 |
| | | const url = window.URL.createObjectURL(res); |
| | | // 创建一个隐藏的 <a> 元素并设置下载链接 |
| | | const a = document.createElement("a"); |
| | | a.style.display = "none"; |
| | | a.href = url; |
| | | a.download = "export.xlsx"; // 指定下载的文件名 |
| | | document.body.appendChild(a); |
| | | |
| | | // 触发点击事件以开始下载 |
| | | a.click(); |
| | | |
| | | // 清理临时资源 |
| | | setTimeout(function () { |
| | | window.URL.revokeObjectURL(url); |
| | | document.body.removeChild(a); |
| | | layer.closeAll(); |
| | | }, 100); |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | table.exportFile(titles,res.data,'xls'); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | }, |
| | | fail: function (){ |
| | | layer.msg('导出失败', {icon: 2}) |
| | |
| | | var pageCurr; |
| | | function getCol() { |
| | | var cols = [ |
| | | {field: 'ioTime$', align: 'center', title: '出库日期', width: 200}, |
| | | {field: 'io_time', align: 'center', title: '出库日期', width: 200}, |
| | | {field: 'order_no', align: 'center', title: '单据编号', width: 200} |
| | | ,{field: 'loc_no', align: 'center',title: '库位号'} |
| | | ,{field: 'crn_str_time', align: 'center',title: '堆垛机启动时间'} |
| | | ,{field: 'crn_end_time', align: 'center',title: '堆垛机停止时间'} |
| | | {field: 'ioTime$', align: 'center', title: '出库日期', width: 200} |
| | | ,{field: 'locNo', align: 'center',title: '库位号'} |
| | | ,{field: 'crnStrTime', align: 'center',title: '堆垛机启动时间'} |
| | | ,{field: 'crnEndTime', align: 'center',title: '堆垛机停止时间'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | return cols; |
| | |
| | | data: JSON.stringify(param), |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | xhrFields: { |
| | | responseType: "blob" // 设置响应类型为二进制数据 |
| | | }, |
| | | success: function (res) { |
| | | // 创建一个临时的下载链接 |
| | | const url = window.URL.createObjectURL(res); |
| | | // 创建一个隐藏的 <a> 元素并设置下载链接 |
| | | const a = document.createElement("a"); |
| | | a.style.display = "none"; |
| | | a.href = url; |
| | | a.download = "export.xlsx"; // 指定下载的文件名 |
| | | document.body.appendChild(a); |
| | | |
| | | // 触发点击事件以开始下载 |
| | | a.click(); |
| | | |
| | | // 清理临时资源 |
| | | setTimeout(function () { |
| | | window.URL.revokeObjectURL(url); |
| | | document.body.removeChild(a); |
| | | layer.closeAll(); |
| | | }, 100); |
| | | layer.closeAll(); |
| | | if (res.code === 200) { |
| | | table.exportFile(titles,res.data,'xls'); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | }, |
| | | fail: function (){ |
| | | layer.msg('导出失败', {icon: 2}) |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="商品" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="品号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="loc_no" placeholder="库位号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="locNo" placeholder="库位号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="loc_no" placeholder="库位号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="locNo" placeholder="库位号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="商品编号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="品号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="序列码" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="批号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="order_no" placeholder="单据编号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="orderNo" placeholder="单据编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input layui-laydate-range" name="query_date" type="text" placeholder="入库起始时间 - 入库终止时间" autocomplete="off" style="width: 300px"> |
| | | <input class="layui-input layui-laydate-range" name="queryDate" type="text" placeholder="入库起始时间 - 入库终止时间" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="loc_no" placeholder="库位号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="locNo" placeholder="库位号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="商品编号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="品号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="序列码" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="批号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="order_no" placeholder="单据编号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="orderNo" placeholder="单据编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input layui-laydate-range" name="query_date" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px"> |
| | | <input class="layui-input layui-laydate-range" name="queryDate" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |