Merge remote-tracking branch 'origin/hylyasrs' into hylyasrs
| | |
| | | <springfox.version>2.7.0</springfox.version> |
| | | </properties> |
| | | |
| | | |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>javax.mail</groupId> |
| | | <artifactId>mail</artifactId> |
| | | <version>1.4.7</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web</artifactId> |
| | | </dependency> |
| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.ManLocDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.mapper.LocDetlMapper; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.ManLocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | @Autowired |
| | | private AdjDetlService adjDetlService; |
| | | |
| | | @Autowired |
| | | private LocDetlMapper locDetlMapper; |
| | |
| | | locDetlService.updateById(locDetl); |
| | | return R.ok(); |
| | | } |
| | | @RequestMapping(value = "/locDetl/updateBatch/auth") |
| | | @ManagerAuth(memo = "合同号(批号)修改") |
| | | public R updateBatch(LocDetl locDetl){ |
| | | if (Cools.isEmpty(locDetl) || null==locDetl.getMatnr()){ |
| | | return R.error("参数异常"); |
| | | }else if (locDetl.getBatch().equals(locDetl.getSku())){ |
| | | return R.error("前后合同号一致,无需修改!!!"); |
| | | } |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo())); |
| | | if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("F")){ |
| | | return R.error("库位号必须存在并且库位状态为“F”!!!"); |
| | | } |
| | | try{ |
| | | LocDetl locDetlSource = locDetlService.selectItem(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch()); |
| | | if (Cools.isEmpty(locDetlSource) || (locDetl.getBatch()==null && locDetlSource.getBatch()!=null)){ |
| | | locDetlSource = locDetlService.selectOne(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no",locDetl.getLocNo()).eq("matnr",locDetl.getMatnr()).eq("batch",locDetl.getBatch())); |
| | | if (Cools.isEmpty(locDetlSource)){ |
| | | return R.error("异常"); |
| | | } |
| | | } |
| | | LocDetl locDetlEnd = locDetlService.selectItem(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getSku()); |
| | | if (!Cools.isEmpty(locDetlEnd) && locDetl.getSku()==null && locDetlEnd.getBatch()!=null){ |
| | | locDetlEnd = locDetlService.selectOne(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no",locDetl.getLocNo()).eq("matnr",locDetl.getMatnr()).eq("batch",locDetl.getSku())); |
| | | } |
| | | AdjDetl adjDetlSource = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getBatch(),null,locDetlSource.getAnfme(),null,null,locDetlSource.getAnfme()-locDetl.getAnfme(),null,"修改合同号:"+locDetl.getBatch()+"→"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date()); |
| | | AdjDetl adjDetlEnd=null; |
| | | if (Cools.isEmpty(locDetlEnd)){ |
| | | adjDetlEnd = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getSku(),null,0.0,null,null,locDetl.getAnfme(),null,"修改合同号:"+locDetl.getBatch()+"→"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date()); |
| | | }else { |
| | | adjDetlEnd = new AdjDetl(locDetl.getLocNo(),locDetl.getMatnr(),locDetl.getSku(),null,locDetlEnd.getAnfme(),null,null,locDetlEnd.getAnfme()+locDetl.getAnfme(),null,"修改合同号:"+locDetl.getBatch()+"→"+locDetl.getSku(),getUserId(),new Date(),getUserId(),new Date()); |
| | | } |
| | | if (locDetlSource.getAnfme()-locDetl.getAnfme()==0){ |
| | | if (Cools.isEmpty(locDetlEnd)){ |
| | | locDetlSource.setBatch(locDetl.getSku()); |
| | | if (locDetl.getBatch()==null || locDetl.getBatch()==""){ |
| | | locDetlService.update(locDetlSource,new EntityWrapper<LocDetl>() |
| | | .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).isNull("batch").or().eq("batch","")); |
| | | }else { |
| | | locDetlService.update(locDetlSource,new EntityWrapper<LocDetl>() |
| | | .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).eq("batch",locDetl.getBatch())); |
| | | } |
| | | }else { |
| | | locDetlService.updateAnfme(locDetlEnd.getAnfme()+locDetl.getAnfme(),locDetlEnd.getLocNo(),locDetlEnd.getMatnr(),locDetlEnd.getBatch()); |
| | | if (locDetl.getBatch()==null || locDetl.getBatch()==""){ |
| | | locDetlService.delete(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).isNull("batch").or().eq("batch","")); |
| | | }else { |
| | | locDetlService.delete(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no",locDetlSource.getLocNo()).eq("matnr",locDetlSource.getMatnr()).eq("batch",locDetlSource.getBatch())); |
| | | } |
| | | } |
| | | }else if (locDetlSource.getAnfme()>locDetl.getAnfme()){ |
| | | locDetlService.updateAnfme(locDetlSource.getAnfme()-locDetl.getAnfme(),locDetlSource.getLocNo(),locDetlSource.getMatnr(),locDetlSource.getBatch()); |
| | | if (Cools.isEmpty(locDetlEnd)){ |
| | | locDetlSource.setAnfme(locDetl.getAnfme()); |
| | | locDetlSource.setBatch(locDetl.getSku()); |
| | | locDetlService.insert(locDetlSource); |
| | | }else { |
| | | locDetlService.updateAnfme(locDetlEnd.getAnfme()+locDetl.getAnfme(),locDetlEnd.getLocNo(),locDetlEnd.getMatnr(),locDetlEnd.getBatch()); |
| | | } |
| | | }else { |
| | | return R.error("输入数量有误,请规范操作!!!"); |
| | | } |
| | | adjDetlService.insert(adjDetlSource); |
| | | adjDetlService.insert(adjDetlEnd); |
| | | }catch (Exception e){ |
| | | return R.error("异常!!!请规范操作!!!"); |
| | | } |
| | | return new R(201,"合同号修改成功,请刷新页面!!!"); |
| | | } |
| | | |
| | | @RequestMapping(value = "/locDetl/delete/auth") |
| | | @ManagerAuth(memo = "库位明细删除") |
| | |
| | | return R.error(); |
| | | } |
| | | LocMast oldLocMast = locMastService.selectById(locMast.getLocNo()); |
| | | if (locX(locMast.getLocNo())){ |
| | | if (oldLocMast.getLocSts().equals("X")){ |
| | | return R.error("此处没有库位,请根据现场情况操作!!!"); |
| | | }else { |
| | | locMast.setLocSts("X"); |
| | | } |
| | | } |
| | | if (locMast.getLocSts().equals("F") && (oldLocMast.getLocSts().equals("D") || oldLocMast.getLocSts().equals("O"))) { |
| | | return R.error("当前操作已被阻止,请联系管理员"); |
| | | } |
| | |
| | | locMastService.updateById(locMast); |
| | | return R.ok(); |
| | | } |
| | | public boolean locX(String locNo){ |
| | | switch (locNo){ |
| | | case "1300601": case "1300602": case "1300603": case "1300604": case "1300605": case "1300606": |
| | | case "1300701": case "1300702": case "1300703": case "1300704": case "1300705": case "1300706": |
| | | case "1301301": case "1301302": case "1301303": case "1301304": case "1301305": case "1301306": |
| | | case "1301401": case "1301402": case "1301403": case "1301404": case "1301405": case "1301406": |
| | | case "1302001": case "1302002": case "1302003": case "1302004": case "1302005": case "1302006": |
| | | case "1301205": case "1301206": |
| | | case "1302402": |
| | | case "1402402": |
| | | return true; |
| | | default: |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | @RequestMapping(value = "/locMast/delete/auth") |
| | | @ManagerAuth(memo = "库位删除") |
| | |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private WaitPakinService waitPakinService; |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | |
| | | @RequestMapping(value = "/order/nav/list/auth") |
| | | @ManagerAuth |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/order/form/add/authtest") |
| | | @ManagerAuth(memo = "手动添加订单") |
| | | @Transactional |
| | | public R formAddTest(@RequestBody OrderDomainParam param){ |
| | | if(Cools.isEmpty(param.getOrderNo())){ |
| | | String prefix = ""; |
| | | DocType docType = docTypeService.selectById(param.getDocType()); |
| | | if(!Cools.isEmpty(docType)){ |
| | | prefix = docType.getPakin() == 1 ? "RK" : "CK"; |
| | | } |
| | | param.setOrderNo(prefix + snowflakeIdWorker.nextId()); |
| | | } |
| | | Order order = orderService.selectByNo(param.getOrderNo()); |
| | | if (order != null) { |
| | | return R.error("单据编号已存在"); |
| | | } |
| | | Date now = new Date(); |
| | | order = new Order( |
| | | String.valueOf(snowflakeIdWorker.nextId()), // 编号[非空] |
| | | param.getOrderNo(), // 订单编号 |
| | | DateUtils.convert(now), // 单据日期 |
| | | param.getDocType(), // 单据类型 |
| | | null, // 项目编号 |
| | | null, // |
| | | null, // 调拨项目编号 |
| | | null, // 初始票据号 |
| | | null, // 票据号 |
| | | null, // 客户编号 |
| | | null, // 客户 |
| | | null, // 联系方式 |
| | | null, // 操作人员 |
| | | null, // 合计金额 |
| | | null, // 优惠率 |
| | | null, // 优惠金额 |
| | | null, // 销售或采购费用合计 |
| | | null, // 实付金额 |
| | | null, // 付款类型 |
| | | null, // 业务员 |
| | | null, // 结算天数 |
| | | null, // 邮费支付类型 |
| | | null, // 邮费 |
| | | null, // 付款时间 |
| | | null, // 发货时间 |
| | | null, // 物流名称 |
| | | null, // 物流单号 |
| | | 1L, // 订单状态 |
| | | 1, // 状态 |
| | | getUserId(), // 添加人员 |
| | | now, // 添加时间 |
| | | getUserId(), // 修改人员 |
| | | now, // 修改时间 |
| | | null // 备注 |
| | | ); |
| | | if (!orderService.insert(order)) { |
| | | throw new CoolException("保存订单主档失败"); |
| | | } |
| | | List<DetlDto> list = new ArrayList<>(); |
| | | for (OrderDetl orderDetl : param.getOrderDetlList()) { |
| | | DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); |
| | | item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } else { |
| | | list.add(dto); |
| | | orderDetl.setOrderId(order.getId()); |
| | | orderDetl.setOrderNo(order.getOrderNo()); |
| | | orderDetl.setCreateBy(getUserId()); |
| | | orderDetl.setCreateTime(now); |
| | | orderDetl.setUpdateBy(getUserId()); |
| | | orderDetl.setUpdateTime(now); |
| | | orderDetl.setStatus(1); |
| | | orderDetl.setQty(0.0D); |
| | | |
| | | //给添加子订单 |
| | | Set<String> exist = new HashSet<>(); |
| | | List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); |
| | | |
| | | |
| | | if (!orderDetlService.insert(orderDetl)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } |
| | | } |
| | | return R.ok("订单添加成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | /** |
| | | * 库位号 |
| | | */ |
| | | @ApiModelProperty(value= "库位号") |
| | | @TableId(value = "loc_no", type = IdType.INPUT) |
| | | @ApiModelProperty(value= "库位号") //参数类型为String,作用为此属性的简要描述。 |
| | | @TableId(value = "loc_no", type = IdType.INPUT) // @TableId 注解的用法,该注解用于将某个成员变量指定为数据表主键 |
| | | @TableField("loc_no") |
| | | private String locNo; |
| | | |
| | |
| | | @ApiModelProperty(value= "") |
| | | private String mk; |
| | | |
| | | @ApiModelProperty(value= "") |
| | | @ApiModelProperty(value= "条码号") |
| | | private String barcode; |
| | | |
| | | @ApiModelProperty(value= "") |
| | |
| | | @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}") |
| | | int updateLocNo(String newLocNo, String oldLocNo); |
| | | |
| | | @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC") |
| | | @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND lm.bay1 >= 10 AND lm.bay1 <=20 AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC") |
| | | List<String> selectSameDetlToday(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end); |
| | | |
| | | List<LocDetl> getStockStatis(Map<String, Object> map); |
| | |
| | | |
| | | List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos); |
| | | |
| | | List<LocDetl> queryStockOther(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos,@Param("locNo")String locNo); |
| | | |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | | List<StockVo> queryStockTotal(); |
| | |
| | | int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty); |
| | | |
| | | int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty); |
| | | |
| | | int increaseWorkQtytest(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("anfme")Double anfme); |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.result.StockVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | |
| | | List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos); |
| | | |
| | | List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo); |
| | | |
| | | |
| | | Double queryStockAnfme(String matnr, String batch); |
| | | |
| | | List<StockVo> queryStockTotal(); |
| | |
| | | * @return |
| | | */ |
| | | boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty); |
| | | |
| | | boolean increaseWorkQtytest(String orderNo, String matnr, String batch, Double anfme); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<LocDetl> queryStockOther(String matnr, String batch, String orderNo, Set<String> locNos,String locNo) { |
| | | return this.baseMapper.queryStockOther(matnr, batch, orderNo, locNos,locNo); |
| | | } |
| | | |
| | | @Override |
| | | public Double queryStockAnfme(String matnr, String batch) { |
| | | return this.baseMapper.queryStockAnfme(matnr, batch); |
| | | } |
| | |
| | | |
| | | int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); |
| | | int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); |
| | | // int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()) |
| | | // .last(" wrk_no IN ( SELECT wrk_no FROM asr_wrk_mast WHERE wrk_sts != 15 )")); |
| | | if (countLoc > 0 || countWrk > 0) { |
| | | throw new CoolException("工作档/库存条码数据已存在===>>" + param.getBarcode()); |
| | | } |
| | |
| | | public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) { |
| | | return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0; |
| | | } |
| | | |
| | | /** |
| | | * 入出库任务生成时,更新单据表中作业数量 |
| | | * @param orderNo |
| | | * @param matnr |
| | | * @param batch |
| | | * @param anfme |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean increaseWorkQtytest(String orderNo, String matnr, String batch, Double anfme) { |
| | | return this.baseMapper.increaseWorkQtytest(orderNo, matnr, batch, anfme) > 0; |
| | | } |
| | | } |
| | |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | | // 修改订单明细 |
| | | if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { |
| | | if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) { |
| | | throw new CoolException("修改订单明细数量失败"); |
| | | } |
| | | orderService.updateSettle(orderDetl.getOrderId(), 2L, userId); |
| | |
| | | if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | //字符串不为空 |
| | | if (!Cools.isEmpty(wrkDetl.getOrderNo())) { |
| | | if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { |
| | | throw new CoolException("订单数据回滚失败"); |
| | |
| | | } |
| | | // 保存工作明细档历史档 |
| | | if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { |
| | | // exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo()); |
| | | exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo()); |
| | | } |
| | | // 删除工作明细档 |
| | | if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) { |
| | | // exceptionHandle("删除工作明细档[workNo={0}]失败", wrkMast.getWrkNo()); |
| | | exceptionHandle("删除工作明细档[workNo={0}]失败", wrkMast.getWrkNo()); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("fail", e); |
| | |
| | | |
| | | // 更新订单完成数量 |
| | | OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); |
| | | if(orderDetl==null){ |
| | | orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); |
| | | } |
| | | try { |
| | | if(!Cools.isEmpty(orderDetl)){ |
| | | if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(),wrkDetl.getAnfme())){ |
| | | orderDetl.getBatch(),wrkDetl.getAnfme())){ |
| | | // exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | |
| | | |
| | | // 更新订单完成数量 |
| | | OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); |
| | | if(orderDetl==null){ |
| | | orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); |
| | | } |
| | | try { |
| | | if(!Cools.isEmpty(orderDetl)){ |
| | | if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(),wrkDetl.getAnfme())){ |
| | | orderDetl.getBatch(),wrkDetl.getAnfme())){ |
| | | // exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | |
| | | for (WrkDetl wrkDetl : wrkDetls101) { |
| | | // 更新订单完成数量 |
| | | OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); |
| | | if(orderDetl==null){ |
| | | orderDetl=orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); |
| | | } |
| | | try { |
| | | if(!Cools.isEmpty(orderDetl)){ |
| | | if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | wrkDetl.getBatch(),wrkDetl.getAnfme())){ |
| | | orderDetl.getBatch(),wrkDetl.getAnfme())){ |
| | | // exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | |
| | | |
| | | private boolean lack = false; |
| | | |
| | | //目标站点 |
| | | private List<Integer> staNos; |
| | | |
| | | private Integer staNo; |
| | | |
| | | |
| | | public LocDto() { |
| | | } |
| | | |
| | |
| | | enabled: false |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://192.168.4.15:1433;databasename=hylyasrs |
| | | url: jdbc:sqlserver://10.10.10.210:1433;databasename=hylyasrs |
| | | username: sa |
| | | password: sa@123 |
| | | mvc: |
| | |
| | | <if test="anfme!=null and anfme!='' "> |
| | | and a.anfme like '%' + #{anfme} + '%' |
| | | </if> |
| | | <if test="batch!=null and batch!='' "> |
| | | and a.batch like '%' + #{batch} + '%' |
| | | </if> |
| | | <if test="startTime!=null and endTime!=null"> |
| | | and a.modi_time between #{startTime} and #{endTime} |
| | | </if> |
| | |
| | | <select id="getStockOutPage" resultMap="BaseResultMap"> |
| | | select * from |
| | | ( |
| | | select |
| | | ROW_NUMBER() over (order by a.appe_time,a.matnr,a.loc_no) as row, |
| | | a.* |
| | | from asr_loc_detl a |
| | | left join asr_loc_mast b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | <include refid="stockOutCondition"></include> |
| | | select |
| | | ROW_NUMBER() over (order by a.appe_time,a.matnr,a.loc_no) as row, |
| | | a.* |
| | | from asr_loc_detl a |
| | | left join asr_loc_mast b on a.loc_no = b.loc_no |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | <include refid="stockOutCondition"></include> |
| | | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | </select> |
| | | |
| | |
| | | <select id="getStockStatis" resultType="com.zy.asrs.entity.LocDetl"> |
| | | select * from |
| | | ( |
| | | select |
| | | ROW_NUMBER() over (order by sum(a.anfme) desc) as row |
| | | , a.matnr |
| | | , sum(a.anfme) as anfme |
| | | from asr_loc_detl a |
| | | where 1=1 |
| | | <include refid="stockOutCondition"></include> |
| | | group by a.matnr |
| | | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | select |
| | | ROW_NUMBER() over (order by sum(a.anfme) desc) as row |
| | | , a.matnr |
| | | , sum(a.anfme) as anfme |
| | | from asr_loc_detl a |
| | | where 1=1 |
| | | <include refid="stockOutCondition"></include> |
| | | group by a.matnr |
| | | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | </select> |
| | | |
| | | <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer"> |
| | | select count(1) as count from |
| | | select count(1) as count from |
| | | ( |
| | | select |
| | | a.matnr |
| | |
| | | where 1=1 |
| | | <include refid="stockOutCondition"></include> |
| | | group by a.matnr |
| | | ) b |
| | | ) b |
| | | </select> |
| | | |
| | | <select id="getStockStatisExcel" resultType="com.zy.asrs.entity.LocDetl"> |
| | |
| | | where 1=1 |
| | | and b.loc_sts = 'F' |
| | | and a.matnr = #{matnr} |
| | | <!-- <choose>--> |
| | | <!-- <when test="batch != null and batch != ''">--> |
| | | <!-- and a.batch = #{batch}--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- and (a.batch IS NULL OR a.batch = '')--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | <!-- <choose>--> |
| | | <!-- <when test="batch != null and batch != ''">--> |
| | | <!-- and a.batch = #{batch}--> |
| | | <!-- </when>--> |
| | | <!-- <otherwise>--> |
| | | <!-- and (a.batch IS NULL OR a.batch = '')--> |
| | | <!-- </otherwise>--> |
| | | <!-- </choose>--> |
| | | <if test="batch != null and batch != ''"> |
| | | and a.batch = #{batch} |
| | | </if> |
| | |
| | | |
| | | <select id="queryStockAnfme" resultType="java.lang.Double"> |
| | | select sum(anfme) as count from man_loc_detl |
| | | where 1=1 |
| | | and matnr = #{matnr} |
| | | where 1=1 |
| | | and matnr = #{matnr} |
| | | <if test="batch != null and batch != ''"> |
| | | and batch = #{batch} |
| | | </if> |
| | |
| | | <select id="getPakoutPage" resultMap="BaseResultMap"> |
| | | select * from |
| | | ( |
| | | select |
| | | ROW_NUMBER() over (order by mo.create_time desc) as row, |
| | | mod.* |
| | | from man_order_detl mod |
| | | inner join man_order mo on mod.order_id = mo.id |
| | | inner join man_doc_type mdt on mo.doc_type = mdt.doc_id |
| | | where 1=1 |
| | | and mo.settle <= 2 |
| | | and mo.status = 1 |
| | | and mdt.pakout = 1 |
| | | <include refid="pakOutPageCondition"></include> |
| | | select |
| | | ROW_NUMBER() over (order by mo.create_time desc) as row, |
| | | mod.* |
| | | from man_order_detl mod |
| | | inner join man_order mo on mod.order_id = mo.id |
| | | inner join man_doc_type mdt on mo.doc_type = mdt.doc_id |
| | | where 1=1 |
| | | and mo.settle <= 2 |
| | | and mo.status = 1 |
| | | and mdt.pakout = 1 |
| | | <include refid="pakOutPageCondition"></include> |
| | | ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) |
| | | </select> |
| | | |
| | |
| | | <if test="matnr!=null and matnr!='' "> |
| | | and matnr like '%' + #{matnr} + '%' |
| | | </if> |
| | | <if test="batch!=null and batch!='' "> |
| | | and batch like '%' + #{batch} + '%' |
| | | </if> |
| | | <if test="maktx!=null and maktx!='' "> |
| | | and (maktx like '%' + #{maktx} + '%' |
| | | or matnr like '%' + #{maktx} + '%' |
| | |
| | | // ,{field: 'adjCtns', align: 'center',title: '变更箱数'} |
| | | ,{field: 'adjQty', align: 'center',title: '变更数量'} |
| | | // ,{field: 'adjWt', align: 'center',title: '变更重量'} |
| | | ,{field: 'memo', align: 'center',title: '备注',hide:true} |
| | | ,{field: 'memo', align: 'center',title: '备注',width:300 ,hide:false} |
| | | ,{field: 'modiUser$', align: 'center',title: '修改人员'} |
| | | ,{field: 'modiTime$', align: 'center',title: '修改时间'} |
| | | // ,{field: 'appeUser', align: 'center',title: '创建者'} |
| | |
| | | {field: 'matnr', align: 'center',title: '商品编号', sort:true} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', sort:true} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true} |
| | | ,{field: 'batch', align: 'center',title: '批号', sort:true} |
| | | ,{field: 'batch', align: 'center',title: '合同号', sort:true} |
| | | ,{field: 'anfme', align: 'center',title: '数量'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | |
| | | ,{field: 'specs', align: 'center',title: '规格'} |
| | | ,{field: 'model', align: 'center',title: '代码', hide: false} |
| | | ,{field: 'model', align: 'center',title: '代码', hide: true} |
| | | ,{field: 'color', align: 'center',title: '颜色', hide: true} |
| | | ,{field: 'brand', align: 'center',title: '品牌', hide: true} |
| | | ,{field: 'unit', align: 'center',title: '单位', hide: true} |
| | |
| | | ,{field: 'manuDate', align: 'center',title: '生产日期', hide: true} |
| | | ,{field: 'itemNum', align: 'center',title: '品项数', hide: true} |
| | | ,{field: 'safeQty', align: 'center',title: '安全库存量', hide: true} |
| | | ,{field: 'weight', align: 'center',title: '单箱净重', hide: false} |
| | | ,{field: 'length', align: 'center',title: '单箱毛重', hide: false} |
| | | ,{field: 'volume', align: 'center',title: '单箱体积', hide: false} |
| | | ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: false} |
| | | ,{field: 'weight', align: 'center',title: '单箱净重', hide: true} |
| | | ,{field: 'length', align: 'center',title: '单箱毛重', hide: true} |
| | | ,{field: 'volume', align: 'center',title: '单箱体积', hide: true} |
| | | ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true} |
| | | ,{field: 'supp', align: 'center',title: '供应商', hide: true} |
| | | ,{field: 'suppCode', align: 'center',title: '供应商编码', hide: true} |
| | | ,{field: 'beBatch$', align: 'center',title: '是否批次', hide: true} |
| | |
| | | */ |
| | | function autoShow(id) { |
| | | var cac = document.getElementById(id).parentNode; |
| | | console.log(cac); |
| | | var cacw = cac.getElementsByClassName("cool-auto-complete-window")[0]; |
| | | console.log(cacw); |
| | | if (cacw.style.display === "none" || cacw.style.display === ""){ |
| | | cacw.style.display = "block"; |
| | | var cacwi = cacw.getElementsByClassName("cool-auto-complete-window-input")[0]; |
| | |
| | | {field: 'matnr', align: 'center',title: '商品编号', sort:true} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', sort:true} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false} |
| | | ,{field: 'batch', align: 'center',title: '批号', width: 300, sort:true} |
| | | ,{field: 'batch', align: 'center',title: '合同号', width: 300, sort:true} |
| | | ,{field: 'anfme', align: 'center',title: '数量'} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码'} |
| | | ,{field: 'specs', align: 'center',title: '配置'} |
| | |
| | | layer.msg(banMsg); |
| | | return; |
| | | } |
| | | method("add"); |
| | | method("/locMast/add/auth"); |
| | | }); |
| | | |
| | | // 数据修改动作 |
| | | form.on('submit(edit)', function () { |
| | | method("update") |
| | | method("/locMast/update/auth") |
| | | }); |
| | | |
| | | // 修改合同号动作 |
| | | form.on('submit(pakoutPreview)', function () { |
| | | method("/locDetl/updateBatch/auth") |
| | | }); |
| | | function method(name){ |
| | | var index = layer.load(1, { |
| | | shade: [0.5,'#000'] //0.1透明度的背景 |
| | |
| | | barcode: $('#barcode').val(), |
| | | PdcType: $('#PdcType').val(), |
| | | ctnNo: $('#ctnNo').val(), |
| | | batch: $('#batch').val(), |
| | | anfme: $('#anfme').val(), |
| | | matnr: $('#matnr').val(), |
| | | maktx: $('#maktx').val(), |
| | | zpallet: $('#zpallet').val(), |
| | | specs: $('#specs').val(), |
| | | sku: $('#sku').val(), |
| | | |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/locMast/"+name+"/auth", |
| | | url: baseUrl+name, |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: top.reObject(data), |
| | | method: 'POST', |
| | |
| | | }); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else if (res.code===201){ |
| | | layer.msg(res.msg); |
| | | parent.layer.closeAll(); |
| | | parent.parent.layer.closeAll(); |
| | | }else { |
| | | layer.msg(res.msg) |
| | | } |
| | |
| | | } |
| | | } |
| | | }) |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 渲染表格 |
| | | var insTb = table.render({ |
| | |
| | | }); |
| | | } |
| | | }) |
| | | |
| | | // 弹窗不出现滚动条 |
| | | $(layero).children('.layui-layer-content').css('overflow', 'visible'); |
| | | layui.form.render('select'); |
| | |
| | | |
| | | function pakoutPreview(ids) { |
| | | let loadIndex = layer.load(2); |
| | | console.log("1111") |
| | | $.ajax({ |
| | | url: baseUrl + "/out/pakout/preview/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | |
| | | {field: 'anfme', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'}, |
| | | {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'}, |
| | | {field: 'staNos', align: 'center', title: '出库站', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, |
| | | //{field: 'staState', title: '状态', align: 'center'}, |
| | | {type: 'checkbox', merge: ['locNo']}, |
| | | ]], |
| | | done: function (res) { |
| | |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var layDate = layui.laydate; |
| | | var layDate = layui.laydate; //时间控件 |
| | | var form = layui.form; |
| | | |
| | | layDate.render({ |
| | | elem: '.layui-laydate-range' |
| | | ,type: 'datetime' |
| | | ,range: true |
| | | ,type: 'datetime' //日期时间选择器 可选年、月、日、时、分、秒 |
| | | ,range: true //设置为true,默认采用“-”分割 |
| | | }); |
| | | |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | | elem: '#stoQue', |
| | | elem: '#stoQue', //table id=“stoQue” |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/locMast/list/auth', |
| | | page: true, |
| | | page: true, //开启分页 |
| | | limit: 20, |
| | | limits: [20, 30, 50, 100, 200, 500], |
| | | even: true, |
| | |
| | | case 'refreshSto': // todo:luxiaotao |
| | | alert("还没做"); |
| | | break; |
| | | case 'exportData': |
| | | layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ |
| | | case 'exportData': //导出Excel |
| | | layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ |
| | | var titles=[]; |
| | | var fields=[]; |
| | | obj.config.cols[0].map(function (col) { |
| | |
| | | 'fields': fields |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/wrkLastno/export/auth", |
| | | url: baseUrl+"/locMast/export/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify(param), |
| | | dataType:'json', |
| | |
| | | <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"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <input class="layui-input" type="text" name="row" placeholder="排数" autocomplete="off">--> |
| | |
| | | <!-- </div>--> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="condition" 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"> |
| | | </div> |
| | | |
| | | </div> |
| | |
| | | <input id="username" class="input100" type="text" name="username" placeholder="username" autocomplete="off"> |
| | | <span class="focus-input100"></span> |
| | | <span class="symbol-input100"> |
| | | |
| | | <i class="fa fa-user"></i> |
| | | </span> |
| | | </div> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="settle"> |
| | |
| | | <input class="layui-input" type="text" name="maktx" 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"> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | |
| | | var form = layui.form; |
| | | var admin = layui.admin; |
| | | var tableMerge = layui.tableMerge; |
| | | var dataSource = [] |
| | | |
| | | // 数据渲染 |
| | | locDetlTableIns = table.render({ |
| | |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | dataSource = res.data.records |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | |
| | | |
| | | // 监听头工具栏事件 |
| | | table.on('toolbar(stockOut)', function (obj) { |
| | | |
| | | var checkStatus = table.checkStatus(obj.config.id); |
| | | var data = checkStatus.data; |
| | | var dataList = [] |
| | | for (var j = 0; j < data.length; j++) { |
| | | var locno = data[j].locNo |
| | | for(var i = 0;i < dataSource.length; i++) { |
| | | if (dataSource[i].locNo === locno) { |
| | | dataList.push(dataSource[i]) |
| | | } |
| | | } |
| | | } |
| | | console.log(dataList) |
| | | |
| | | switch(obj.event) { |
| | | case 'confirm': |
| | | if (data.length === 0){ |
| | | layer.msg("请选择数据"); |
| | | return; |
| | | } |
| | | parent.addTableData(data); |
| | | parent.addTableData(dataList); |
| | | break; |
| | | } |
| | | }); |
| | |
| | | </div> |
| | | <table class="layui-hide" id="locDetlByMap" lay-filter="locDetlByMap"></table> |
| | | </body> |
| | | <script type="text/html" id="operateDetl"> |
| | | <!-- <button id="batch" class="layui-btn layui-btn-primary layui-btn-radius" style="height: auto" lay-submit lay-filter="batch">修改合同号</button>--> |
| | | <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>修改合同号</a> |
| | | </script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | |
| | | {field: 'locNo$', align: 'center',title: '库位号'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | var cols2=[ |
| | | { fixed: 'right', title:'操作', align: 'center', toolbar: '#operateDetl'} |
| | | ]; |
| | | cols.push.apply(cols,cols2) |
| | | return cols; |
| | | } |
| | | layui.use(['table','laydate', 'form'], function() { |
| | | table = layui.table; |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var form = layui.form; |
| | | |
| | |
| | | }); |
| | | } |
| | | }); |
| | | // 工具条点击事件 |
| | | table.on('tool(locDetlByMap)', function (obj) { |
| | | var data = obj.data; |
| | | switch (obj.event) { |
| | | // 修改合同号(批号) |
| | | case 'pakoutPreview': |
| | | layer.open({ |
| | | type: 2, |
| | | title: '修改合同号', |
| | | maxmin: true, |
| | | area: ['500px', top.detailHeight], |
| | | shadeClose: false, |
| | | content: 'locDetl_detail.html', |
| | | success: function(layero, index){ |
| | | layer.getChildFrame('#data-detail-submit-save', index).hide(); |
| | | setFormVal(layer.getChildFrame('#updateBatch', index), data, false); |
| | | // top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); |
| | | top.convertDisabled(layer.getChildFrame('#locNo', index), true); |
| | | layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); |
| | | layero.find('iframe')[0].contentWindow.layui.form.render('select'); |
| | | layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); |
| | | } |
| | | }); |
| | | break; |
| | | } |
| | | }); |
| | | }); |
| | | </script> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en" xmlns="http://www.w3.org/1999/html"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="updateBatch" class="layui-form" style="height: 100%"> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null">*</span>修改合同号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="sku" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null">*</span>数 量:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="anfme" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null"></span>原合同号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="batch" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null"></span>库 位 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="locNo" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null"></span> 商品编号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="matnr" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null"></span> 商品名称:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="maktx" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null"></span> 托盘码:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="zpallet" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" > |
| | | <label class="layui-form-label"><span class="not-null"></span> 规格:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="specs" class="layui-input" disabled ="disabled" type="text" onkeyup="check(this.id, 'locDetl')"> |
| | | </div> |
| | | </div> |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="pakoutPreview">修改</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/locMast/locMast.js" charset="utf-8"></script> |
| | | </html> |
| | | |
| | |
| | | <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="batch" placeholder="合同号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="loc_no" 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="batch" placeholder="合同号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="loc_no" placeholder="库位号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <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="matnr" placeholder="商品编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | |
| | | <input class="layui-input" type="text" name="pakin_id" 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"> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | |
| | | <input class="layui-input" type="text" name="wrk_no" 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"> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | |
| | | <input class="layui-input layui-laydate-range" name="modi_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="batch" placeholder="合同号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | |
| | | var cols = [ |
| | | {field: 'wrkNo', align: 'center',title: '工作号'} |
| | | ,{field: 'ioTime$', align: 'center',title: '工作时间'} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | return cols; |