| | |
| | | // } |
| | | // } |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | String locNo = convert(param, wrapper); |
| | | allLike(LocDetl.class, param.keySet(), wrapper, condition); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | Page<LocDetl> locDetlPage = locDetlService.selectPage(new Page<>(curr, limit), wrapper); |
| | | if (Cools.isEmpty(locDetlPage) || locDetlPage.getTotal()==0){ |
| | | List<LocDetl> locDetls = locDetlService.queryStockViewMerge(locNo); |
| | | return R.ok(locDetlPage.setRecords(locDetls)); |
| | | }else { |
| | | return R.ok(locDetlPage); |
| | | } |
| | | // if (!row.equals("")){ |
| | | // wrapper.and() |
| | | // .where("loc_no like '" +row +"%'"); |
| | | // } |
| | | return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | // return R.ok(); |
| | | } |
| | | |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ |
| | | private <T> String convert(Map<String, Object> map, EntityWrapper<T> wrapper){ |
| | | String locNo=null; |
| | | for (Map.Entry<String, Object> entry : map.entrySet()){ |
| | | String val = String.valueOf(entry.getValue()); |
| | | if (val.contains(RANGE_TIME_LINK)){ |
| | |
| | | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); |
| | | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); |
| | | } else { |
| | | if (entry.getKey().equals("locNo")) { |
| | | if (entry.getKey().equals("loc_no")) { |
| | | wrapper.eq("loc_no", String.valueOf(entry.getValue())); |
| | | locNo=String.valueOf(entry.getValue()); |
| | | } else { |
| | | wrapper.like(entry.getKey(), String.valueOf(entry.getValue())); |
| | | } |
| | | } |
| | | } |
| | | return locNo; |
| | | } |
| | | |
| | | @RequestMapping(value = "/locDetl/add/auth") |
| | |
| | | @ManagerAuth(memo = "生成拣货单") |
| | | public synchronized R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException { |
| | | int[][] is = new int[locDtos.size()][2]; |
| | | List<String> matnrs=new ArrayList<>(); |
| | | for (int i = 0; i < locDtos.size(); i++) { |
| | | LocDto locDto = locDtos.get(locDtos.size() - 1 - i); |
| | | if (locDto.getLocNo() == null || locDto.getManu().equals("立库")) { |
| | |
| | | } |
| | | is[i][1] = locDtos.size() - 1 - i; |
| | | } |
| | | List<LocDto> locDtos1=new ArrayList<>(); |
| | | for (int[] i : is) { |
| | | if (i[0] == 1) { |
| | | if (!matnrs.contains(locDtos.get(i[1]).getMatnr())){ |
| | | matnrs.add(locDtos.get(i[1]).getMatnr()); |
| | | } |
| | | locDtos1.add(locDtos.get(i[1])); |
| | | locDtos.remove(i[1]); |
| | | } |
| | | } |
| | | for (String matnr:matnrs){ |
| | | Double a = 0.0; |
| | | int b = 0; |
| | | for (int i = 0; i < locDtos1.size(); i++){ |
| | | if (locDtos1.get(i).getMatnr().equals(matnr)){ |
| | | if (a.equals(0)){ |
| | | b=i; |
| | | } |
| | | a=a+locDtos1.get(i).getAnfme(); |
| | | } |
| | | } |
| | | LocDto locDto = locDtos1.get(b); |
| | | locDto.setLocNo("立库"); |
| | | locDto.setAnfme(a); |
| | | locDtos.add(locDto); |
| | | } |
| | | if (Cools.isEmpty(locDtos)) { |
| | | return R.error("平库参数为空,没有生成拣货单"); |
| | | } |
| | |
| | | // 表格行:层 ====>> 倒序 |
| | | List<String> levs = reportQueryMapper.getViewLocLevCount(row); |
| | | List<Map<String, Object>> body = new ArrayList<>(); |
| | | for (String lev : levs){ |
| | | int maxBay=0; |
| | | for (String lev : levs) { |
| | | // 获取层级数据 |
| | | List<ViewLocMapDto> dtos = reportQueryMapper.getViewLocBays(row, Integer.parseInt(lev)); |
| | | // !表格第一列放层级数 |
| | | dtos.add(0, new ViewLocMapDto(null ,null, lev)); |
| | | dtos.add(0, new ViewLocMapDto(null, null, lev)); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("loc", dtos); |
| | | body.add(map); |
| | | if (row == 100) { |
| | | if (maxBay < locDetlService.queryStockViewMergeCount(row, Integer.parseInt(lev))) { |
| | | maxBay = locDetlService.queryStockViewMergeCount(row, Integer.parseInt(lev)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (row==100){ |
| | | for (int i =bays.size()-1;i>maxBay;i--){ |
| | | bays.remove(i); |
| | | } |
| | | } |
| | | Map<String, Object> result = new HashMap<>(); |
| | | result.put("title", bays); |
| | |
| | | if (!Cools.isEmpty(locMast)){ |
| | | return String.valueOf(locMast.getLocNo()); |
| | | } |
| | | return null; |
| | | return this.locNo; |
| | | } |
| | | |
| | | public String getBeBatch$(){ |
| | |
| | | |
| | | List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos); |
| | | |
| | | List<LocDetl> queryStockViewMerge(@Param("locNo")String locNo); |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | | List<StockVo> queryStockTotal(@Param("matnr")String matnr,@Param("batch")String batch); |
| | |
| | | |
| | | Double selectLocDetlSumQty(String locNo); |
| | | |
| | | Integer queryStockViewMergeCount(@Param("row")int row,@Param("lev")int lev); |
| | | |
| | | } |
| | |
| | | @Mapper |
| | | @Repository |
| | | public interface ManPakOutMapper extends BaseMapper<ManPakOut> { |
| | | |
| | | } |
| | |
| | | public List<ViewStayTimeBean> getViewStayTimeAll(ViewStayTimeBean viewStayTime); |
| | | |
| | | // // 库位Map |
| | | @Select("select distinct row1 from asr_loc_mast order by row1 asc") |
| | | @Select("select distinct row1 from asr_loc_mast_man_node_merge order by row1 asc") |
| | | List<Integer> getViewLocRowTotal(); |
| | | |
| | | @Select("select distinct lev1 from asr_loc_mast where row1=#{row1} order by lev1 desc") |
| | | @Select("select distinct lev1 from asr_loc_mast_man_node_merge where row1=#{row1} order by lev1 desc") |
| | | public List<String> getViewLocLevCount(@Param("row1") int row1); |
| | | // |
| | | @Select("select loc_no as locNo, bay1,loc_sts as locSts from asr_loc_mast where row1=#{row1} and lev1=#{lev1} order by bay1") |
| | | @Select("select loc_no as locNo, bay1,loc_sts as locSts from asr_loc_mast_man_node_merge where row1=#{row1} and lev1=#{lev1} order by bay1") |
| | | public List<ViewLocMapDto> getViewLocBays(@Param("row1") int row1, @Param("lev1") int lev1); |
| | | |
| | | // 库位Map |
| | | @Select("select distinct bay1 from asr_loc_mast where row1=#{row1} order by bay1") |
| | | @Select("select distinct bay1 from asr_loc_mast_man_node_merge where row1=#{row1} order by bay1") |
| | | public List<String> getViewLocBayCount(@Param("row1") int row1); |
| | | |
| | | @Select("select lev1,loc_sts as locSts from asr_loc_mast where row1=#{row1} and bay1=#{bay1} order by bay1") |
| | |
| | | */ |
| | | List<String> getSameDetlToday(String matnr, Integer start, Integer end); |
| | | |
| | | List<LocDetl> queryStockViewMerge(String locNo); |
| | | |
| | | Page<LocDetl> getStockStatis(Page<LocDetl> page); |
| | | |
| | | Double getSumAnfme(String matnr); |
| | |
| | | |
| | | Integer countLocNoNum(String locNo); |
| | | |
| | | Integer queryStockViewMergeCount(int row,int lev); |
| | | |
| | | // -------------------------------------------------- |
| | | |
| | | List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockViewMerge(String locNo) { |
| | | return this.baseMapper.queryStockViewMerge(locNo); |
| | | } |
| | | |
| | | @Override |
| | | public Double queryStockAnfme(String matnr, String batch) { |
| | | return this.baseMapper.queryStockAnfme(matnr, batch); |
| | | } |
| | |
| | | public Double getLocDetlSumQty(String locNo) { |
| | | return this.baseMapper.selectLocDetlSumQty(locNo); |
| | | } |
| | | |
| | | @Override |
| | | public Integer queryStockViewMergeCount(int row,int lev){return this.baseMapper.queryStockViewMergeCount(row,lev);} |
| | | } |
| | |
| | | @Service("manPakOutService") |
| | | public class ManPakOutServiceImpl extends ServiceImpl<ManPakOutMapper, ManPakOut> implements ManPakOutService { |
| | | |
| | | |
| | | } |
| | |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | # url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs |
| | | url: jdbc:sqlserver://192.168.4.13:1433;databasename=stasrs |
| | | url: jdbc:sqlserver://192.168.4.15:1433;databasename=stasrs |
| | | username: sa |
| | | password: sa@123 |
| | | mvc: |
| | |
| | | |
| | | <select id="queryStock" resultMap="BaseResultMap"> |
| | | select a.* |
| | | from asr_loc_detl a |
| | | left join asr_loc_mast b on a.loc_no = b.loc_no |
| | | from asr_loc_detl_merge a |
| | | left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and a.matnr = #{matnr} |
| | |
| | | where loc_no=#{locNo} |
| | | </select> |
| | | |
| | | <select id="queryStockViewMerge" resultMap="BaseResultMap"> |
| | | select a.* |
| | | from asr_loc_detl_merge a |
| | | left join asr_loc_mast_man_node_merge b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and a.loc_no = #{locNo} |
| | | </select> |
| | | <select id="queryStockViewMergeCount" resultType="java.lang.Integer"> |
| | | select count(1) from asr_loc_mast_man_node_merge |
| | | where 1=1 |
| | | and row1 = #{row} |
| | | and lev1 = #{lev} |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | { title: '出库数量', align: 'center',field: 'anfme', width: 90, style: 'font-weight: bold; color: red'}, |
| | | {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'}, |
| | | {field: 'staNos', align: 'center', title: '出库站', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, |
| | | {type: 'checkbox', merge: ['locNo']}, |
| | | // {type: 'checkbox', merge: ['locNo']}, |
| | | ]], |
| | | done: function (res) { |
| | | tableMerge.render(this); |
| | |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">完结</a> |
| | | {{# } }} |
| | | |
| | | {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 1 || d.docType == 11 || d.docType == 14 || d.docType == 17 || d.docType == 18)) { }} |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">生成拣货单</a> |
| | | {{# } }} |
| | | <!-- {{# if ((d.settle == 0 || d.settle == 1) && (d.docType == 1 || d.docType == 11 || d.docType == 14 || d.docType == 17 || d.docType == 18)) { }}--> |
| | | <!-- <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="manPrint">生成拣货单</a>--> |
| | | <!-- {{# } }}--> |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">打印</a> |
| | | </script> |
| | | <!-- 表格操作列 --> |