| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.FrozenParam; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.LocOwner; |
| | | import com.zy.asrs.entity.Mat; |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping(value = "/locDetl/frozenInventory") |
| | | @ManagerAuth(memo = "库存冻结") |
| | | public R frozen(@RequestBody List<FrozenParam> param){ |
| | | if (param.size() == 0) { |
| | | return R.parse("未收到数据"); |
| | | } |
| | | |
| | | return locDetlService.frozenInventory(param); |
| | | } |
| | | |
| | | @PostMapping(value = "/locDetl/unfreezeInventory") |
| | | @ManagerAuth(memo = "库存解冻") |
| | | public R unfreeze(@RequestBody List<FrozenParam> param){ |
| | | if (param.size() == 0) { |
| | | return R.parse("未收到数据"); |
| | | } |
| | | |
| | | return locDetlService.unfreezeInventory(param); |
| | | } |
| | | |
| | | @RequestMapping(value = "/locDetl/export/auth") |
| | | @ManagerAuth(memo = "库位明细导出") |
| | | public R export(@RequestBody JSONObject param){ |
| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.BasWhs; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.LocMast; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.LocMastInitParam; |
| | | import com.zy.asrs.service.BasWhsService; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.asrs.mapper.LocDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.entity.Parameter; |
| | | import com.zy.common.model.Shelves; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | |
| | | private LocDetlService locDetlService; |
| | | @Autowired |
| | | private BasWhsService basWhsService; |
| | | |
| | | @Resource |
| | | private WrkMastService wrkMastService; |
| | | |
| | | @Resource |
| | | private AdjDetlService adjDetlService; |
| | | |
| | | @Resource |
| | | private LocDetlMapper locDetlMapper; |
| | | |
| | | @RequestMapping(value = "/locMast/init/pwd") |
| | | public R locMastInitPwd(@RequestParam(required = false) String pwd) { |
| | |
| | | @RequestMapping(value = "/locMast/update/auth") |
| | | @ManagerAuth(memo = "库位修改") |
| | | public R update(LocMast locMast){ |
| | | |
| | | if (Cools.isEmpty(locMast) || null==locMast.getLocNo()){ |
| | | return R.error(); |
| | | } |
| | | |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() |
| | | .eq("source_loc_no", locMast.getLocNo()) |
| | | .or().eq("loc_no", locMast.getLocNo())); |
| | | if(!Cools.isEmpty(wrkMast)){ |
| | | return R.error("该库位正在作业,请先处理工作档"); |
| | | } |
| | | |
| | | LocMast oldLocMast = locMastService.selectById(locMast.getLocNo()); |
| | | if (locMast.getLocSts().equals("F") && (oldLocMast.getLocSts().equals("D") || oldLocMast.getLocSts().equals("O"))) { |
| | | return R.error("当前操作已被阻止,请联系管理员"); |
| | | } |
| | | Date now = new Date(); |
| | | // 有物料时修改为空库位或者空板库位,则删除库存明细 |
| | | if (oldLocMast.getLocSts().equals("R") || oldLocMast.getLocSts().equals("F")) { |
| | | if (oldLocMast.getLocSts().equals("R") || oldLocMast.getLocSts().equals("F") || oldLocMast.getLocSts().equals("S")) { |
| | | if (locMast.getLocSts().equals("O") || locMast.getLocSts().equals("D")) { |
| | | locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); |
| | | for (LocDetl locDetl : locDetls) { |
| | | // 保存调整记录 |
| | | AdjDetl adjDetl = new AdjDetl(); |
| | | adjDetl.setLocNo(locDetl.getLocNo()); |
| | | adjDetl.setMatnr(locDetl.getMatnr()); |
| | | adjDetl.setBatch(locDetl.getBatch()); |
| | | adjDetl.setOriQty(locDetl.getAnfme()); |
| | | adjDetl.setAdjQty(0.0D); |
| | | adjDetl.setModiTime(now); |
| | | adjDetl.setModiUser(getUserId()); |
| | | adjDetl.setAppeTime(now); |
| | | adjDetl.setAppeUser(getUserId()); |
| | | if (!adjDetlService.insert(adjDetl)) { |
| | | throw new CoolException("服务器错误,请联系管理员"); |
| | | } |
| | | } |
| | | if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()))) { |
| | | throw new CoolException("服务器错误,请联系管理员"); |
| | | } |
| | | locMast.setBarcode(""); |
| | | } |
| | | } |
| | | locMast.setModiUser(getUserId()); |
| | | locMast.setModiTime(new Date()); |
| | | locMastService.updateById(locMast); |
| | | locMast.setModiTime(now); |
| | | AdjDetl adjDetl = new AdjDetl(); |
| | | adjDetl.setLocNo(locMast.getLocNo()); |
| | | adjDetl.setMatnr("原库位状态:" + oldLocMast.getLocSts()); |
| | | adjDetl.setBatch("更改库位状态为:" + locMast.getLocSts()); |
| | | adjDetl.setModiTime(now); |
| | | adjDetl.setModiUser(getUserId()); |
| | | if (!adjDetlService.insert(adjDetl)) { |
| | | throw new CoolException("库位调整记录失败"); |
| | | } |
| | | // 库位冻结->冻结所有库存 |
| | | if (locMast.getFrozen() == 1 && oldLocMast.getFrozen() == 0 && locMast.getLocSts().equals("F") && oldLocMast.getLocSts().equals("F")) { |
| | | locDetlMapper.updateDetlFrozenByLocNo(oldLocMast.getLocNo()); |
| | | } |
| | | if(!locMastService.updateById(locMast)) { |
| | | throw new CoolException("服务器错误,请联系管理员"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
New file |
| | |
| | | package com.zy.asrs.entity; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author pang.jiabao |
| | | * @description 库存冻结/解冻 dto |
| | | * @createDate 2024/12/17 9:24 |
| | | */ |
| | | @Data |
| | | public class FrozenParam { |
| | | |
| | | /** |
| | | * 库位号 |
| | | */ |
| | | private String locNo; |
| | | |
| | | /** |
| | | * 商品编号 |
| | | */ |
| | | private String matnr; |
| | | |
| | | /** |
| | | * 批次 |
| | | */ |
| | | private String batch; |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value= "备用3") |
| | | private String standby3; |
| | | |
| | | /** |
| | | * 是否冻结 |
| | | */ |
| | | @ApiModelProperty(value= "是否冻结,0.未冻结,1.已冻结") |
| | | private Integer frozen; |
| | | |
| | | public String getLocNo$(){ |
| | | LocMastService service = SpringUtils.getBean(LocMastService.class); |
| | | LocMast locMast = service.selectById(this.locNo); |
| | |
| | | Synchro.Copy(source, this); |
| | | } |
| | | |
| | | public String getFrozen$() { |
| | | if (null == this.frozen){ return null; } |
| | | switch (this.frozen){ |
| | | case 0: |
| | | return "未冻结"; |
| | | case 1: |
| | | return "已冻结"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | @TableField("ctn_no") |
| | | private String ctnNo; |
| | | |
| | | /** |
| | | * 是否冻结 |
| | | */ |
| | | @ApiModelProperty(value= "是否冻结,0.未冻结,1.已冻结") |
| | | private Integer frozen; |
| | | |
| | | /** |
| | | * 冻结备注 |
| | | */ |
| | | @ApiModelProperty(value= "冻结备注") |
| | | @TableField("frozen_memo") |
| | | private String frozenMemo; |
| | | |
| | | |
| | | public String getWhsType$(){ |
| | | BasWhsService service = SpringUtils.getBean(BasWhsService.class); |
| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime); |
| | | } |
| | | |
| | | public String getFrozen$() { |
| | | if (null == this.frozen){ return null; } |
| | | switch (this.frozen){ |
| | | case 0: |
| | | return "未冻结"; |
| | | case 1: |
| | | return "已冻结"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | List<LocDetl> selectLocDetlUnilateralMoveShuttleY(@Param("matnr")String matnr,@Param("batch")String batch,@Param("grade")String grade); |
| | | List<LocDetl> selectLocDetlUnilateralMoveShuttleN(@Param("matnr")String matnr,@Param("batch")String batch,@Param("grade")String grade); |
| | | |
| | | /** |
| | | * 根据库位号更新库存明细为冻结状态 |
| | | */ |
| | | void updateDetlFrozenByLocNo(@Param("locNo") String locNo); |
| | | |
| | | /** |
| | | * 冻结/解冻库存明细 |
| | | * @param locNo 库位号 |
| | | * @param matnr 物料编码 |
| | | * @param batch 批次 |
| | | * @param frozen 0解冻,1冻结 |
| | | */ |
| | | void frozenInventory(@Param("locNo") String locNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("frozen") int frozen); |
| | | |
| | | } |
| | |
| | | // LocMast selectLocByLocStsPakInO2(@Param("locNos") List<String> locNos,@Param("whsType") Long whsType); |
| | | |
| | | LocMast selectLocByLocStsPakInO2(@Param("crnNo") Integer crnNo,@Param("bay") Integer bay,@Param("lev") Integer lev,@Param("gro") Integer gro,@Param("whsType") Long whsType); |
| | | |
| | | /** |
| | | * 查找第一个冻结的库位 |
| | | * @param locNoList 库位号集合 |
| | | * @return 库位号 |
| | | */ |
| | | String findFirstFrozenLocNo(@Param("locNoList") List<String> locNoList); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.FrozenParam; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.result.LocDetlAll; |
| | | import com.zy.asrs.entity.result.LocDetlDTO; |
| | |
| | | List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo); |
| | | |
| | | List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo); |
| | | |
| | | /** |
| | | * 冻结库存 |
| | | */ |
| | | R frozenInventory(List<FrozenParam> param); |
| | | |
| | | /** |
| | | * 库存解冻 |
| | | */ |
| | | R unfreezeInventory(List<FrozenParam> param); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.FrozenParam; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.result.LocDetlAll; |
| | | import com.zy.asrs.entity.result.LocDetlDTO; |
| | |
| | | } |
| | | return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr,batch,grade); |
| | | } |
| | | |
| | | @Override |
| | | public R frozenInventory(List<FrozenParam> param) { |
| | | |
| | | for(FrozenParam obj : param) { |
| | | this.baseMapper.frozenInventory(obj.getLocNo(), obj.getMatnr(), obj.getBatch(), 1); |
| | | } |
| | | |
| | | return R.ok("冻结库存完成!"); |
| | | } |
| | | |
| | | @Override |
| | | public R unfreezeInventory(List<FrozenParam> param) { |
| | | |
| | | for(FrozenParam obj : param) { |
| | | this.baseMapper.frozenInventory(obj.getLocNo(), obj.getMatnr(), obj.getBatch(), 0); |
| | | } |
| | | |
| | | return R.ok("库存解冻完成!"); |
| | | } |
| | | } |
| | |
| | | import com.zy.asrs.entity.param.FullStoreParam; |
| | | import com.zy.asrs.entity.param.LocDetlAdjustParam; |
| | | import com.zy.asrs.entity.param.StockOutParam; |
| | | import com.zy.asrs.mapper.LocMastMapper; |
| | | import com.zy.asrs.entity.result.FindLocNoAttributeVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.OrderInAndOutUtil; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | |
| | | |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | |
| | | @Resource |
| | | private LocMastMapper locMastMapper; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | } |
| | | } |
| | | if (!locDetlDtos.isEmpty()) { |
| | | // 库位号集合 |
| | | List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList()); |
| | | String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList); |
| | | if (firstFrozenLocNo != null) { |
| | | throw new CoolException(firstFrozenLocNo + "库位已被冻结!"); |
| | | } |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); |
| | | if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){ |
| | | // 启动出库开始 101.出库 |
| | |
| | | if (Cools.isEmpty(param.getOutSite())) { |
| | | throw new CoolException("站点不存在"); |
| | | } |
| | | |
| | | // 库位冻结不能出库 |
| | | String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(param.getLocNos()); |
| | | if (firstFrozenLocNo != null) { |
| | | throw new CoolException(firstFrozenLocNo + "库位已被冻结!"); |
| | | } |
| | | |
| | | for (String locNo : param.getLocNos()) { |
| | | // 获取工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type); |
| | |
| | | } |
| | | } |
| | | if (!locDetlDtos.isEmpty()) { |
| | | // 库位号集合 |
| | | List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList()); |
| | | String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList); |
| | | if (firstFrozenLocNo != null) { |
| | | throw new CoolException(firstFrozenLocNo + "库位已被冻结!"); |
| | | } |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); |
| | | if (locMast.getLocSts().equals("F")){ |
| | | // 启动出库开始 107.盘点出库 |
| | |
| | | if (Cools.isEmpty(loc)){ |
| | | throw new CoolException("未找到库位"); |
| | | } |
| | | // 判断库位是否冻结 |
| | | String sourceLocFrozen = locMastMapper.findFirstFrozenLocNo(Arrays.asList(sourceLoc.getLocNo(),loc.getLocNo())); |
| | | if (sourceLocFrozen != null) { |
| | | throw new CoolException(sourceLocFrozen + "库位已被冻结!"); |
| | | } |
| | | |
| | | // 判断库存是否冻结 |
| | | Optional<LocDetl> first = locDetls.stream().filter(locDetl -> locDetl.getFrozen() == 1).findFirst(); |
| | | if (first.isPresent()) { |
| | | LocDetl locDetl = first.get(); |
| | | throw new CoolException(locDetl.getLocNo() + "," + locDetl.getMatnr() + "," + locDetl.getBatch() + "库存明细已被冻结!"); |
| | | } |
| | | |
| | | if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){ |
| | | throw new CoolException("库位状态已改变"); |
| | | } |
| | |
| | | <result column="appe_user" property="appeUser" /> |
| | | <result column="appe_time" property="appeTime" /> |
| | | <result column="memo" property="memo" /> |
| | | <result column="frozen" property="frozen" /> |
| | | <result column="standby1" property="standby1" /> |
| | | <result column="standby2" property="standby2" /> |
| | | <result column="standby3" property="standby3" /> |
| | |
| | | FROM asr_loc_detl a |
| | | INNER JOIN man_mat b ON a.matnr=#{matnrOld} AND b.matnr=#{matnr}; |
| | | </update> |
| | | <update id="updateDetlFrozenByLocNo"> |
| | | update asr_loc_detl set frozen = 1 where loc_no = #{locNo} and frozen = 0 |
| | | </update> |
| | | <update id="frozenInventory"> |
| | | update asr_loc_detl set frozen = #{frozen} where loc_no = #{locNo} and matnr = #{matnr} and batch = #{batch} |
| | | </update> |
| | | |
| | | <select id="selectSameDetlTodayBatch" resultType="java.lang.String"> |
| | | SELECT ld.loc_no FROM asr_loc_detl ld |
| | |
| | | <result column="mk" property="mk" /> |
| | | <result column="barcode" property="barcode" /> |
| | | <result column="ctn_no" property="ctnNo" /> |
| | | |
| | | <result column="frozen" property="frozen" /> |
| | | <result column="frozen_memo" property="frozenMemo" /> |
| | | </resultMap> |
| | | |
| | | <select id="queryFreeLocMast" resultMap="BaseResultMap"> |
| | |
| | | and gro1 = #{gro} |
| | | AND loc_sts in ('O') order by row1 |
| | | </select> |
| | | <select id="findFirstFrozenLocNo" resultType="java.lang.String"> |
| | | select top 1 loc_no from asr_loc_mast where frozen = 1 and loc_no in |
| | | <foreach collection="locNoList" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | ,{field: 'source$', align: 'center',title: '制购', hide: true} |
| | | ,{field: 'check$', align: 'center',title: '要求检验', hide: true} |
| | | ,{field: 'danger$', align: 'center',title: '危险品', hide: true} |
| | | ,{field: 'frozen$', align: 'center',title: '冻结否', |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.frozen$ === '已冻结') { |
| | | return '<span style="color: #34a8de;">' +d.frozen$ + '</span>'; |
| | | } else { |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | }} |
| | | ] |
| | | |
| | |
| | | var pageCurr; |
| | | function getCol() { |
| | | var cols = [ |
| | | {type: 'checkbox'}, |
| | | {field: 'locNo$', align: 'center',title: '库位号'} |
| | | ,{field: 'storeDate', align: 'center',title: '库龄(天)', sort:true} |
| | | ,{field: 'matnr', align: 'center',title: '商品编号', sort:true} |
| | |
| | | ,{field: 'source$', align: 'center',title: '制购', hide: true} |
| | | ,{field: 'check$', align: 'center',title: '要求检验', hide: true} |
| | | ,{field: 'danger$', align: 'center',title: '危险品', hide: true} |
| | | |
| | | ,{field: 'frozen$', align: 'center',title: '冻结否', |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.frozen$ === '已冻结') { |
| | | return '<span style="color: #34a8de;">' +d.frozen$ + '</span>'; |
| | | } else { |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | }} |
| | | ]; |
| | | |
| | | // cols.push.apply(cols, detlCols); |
| | |
| | | }); |
| | | }); |
| | | break; |
| | | // 冻结 |
| | | case 'frozen': |
| | | let frozenData = checkStatus.data; |
| | | console.log(frozenData) |
| | | if (frozenData.length === 0){ |
| | | layer.msg('请选择数据'); |
| | | } else { |
| | | layer.confirm('确定冻结库存吗?', function(){ |
| | | let requestData = frozenData.map(obj => ({ |
| | | locNo: obj.locNo, |
| | | matnr: obj.matnr, |
| | | batch: obj.batch |
| | | }) |
| | | ); |
| | | $.ajax({ |
| | | url: baseUrl+"/locDetl/frozenInventory", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify(requestData), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | traditional:true, |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.closeAll(); |
| | | tableReload(false); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | break; |
| | | // 解冻 |
| | | case 'unfreeze': |
| | | let unfreezeData = checkStatus.data; |
| | | console.log(unfreezeData) |
| | | if (unfreezeData.length === 0){ |
| | | layer.msg('请选择数据'); |
| | | } else { |
| | | layer.confirm('确定解冻库存吗?', function(){ |
| | | let requestData = unfreezeData.map(obj => ({ |
| | | locNo: obj.locNo, |
| | | matnr: obj.matnr, |
| | | batch: obj.batch |
| | | }) |
| | | ); |
| | | $.ajax({ |
| | | url: baseUrl+"/locDetl/unfreezeInventory", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify(requestData), |
| | | dataType:'json', |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | traditional:true, |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.closeAll(); |
| | | tableReload(false); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | break; |
| | | } |
| | | }); |
| | | |
| | |
| | | ,{field: 'locNo', align: 'center',title: '库位号',sort:true, hide:false} |
| | | ,{field: 'locSts$', align: 'center',title: '库位状态',width:200, hide:false} |
| | | ,{field: 'whsType$', align: 'center',title: '库位类型',width:200, hide:false} |
| | | ,{field: 'frozen$', align: 'center',title: '冻结状态', |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.frozen$ === '已冻结') { |
| | | return '<span style="color: #34a8de;">' +d.frozen$ + '</span>'; |
| | | } else { |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | }} |
| | | ,{field: 'frozenMemo', align: 'center',title: '冻结原因'} |
| | | // ,{field: 'pltType', align: 'center',title: ''} |
| | | // ,{field: 'ctnType', align: 'center',title: ''} |
| | | // ,{field: 'locSts', align: 'center',title: ''} |
| | |
| | | barcode: $('#barcode').val(), |
| | | PdcType: $('#PdcType').val(), |
| | | ctnNo: $('#ctnNo').val(), |
| | | |
| | | frozen: $('#frozen').val(), |
| | | frozenMemo: $('#frozenMemo').val() |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/locMast/"+name+"/auth", |
| | |
| | | ,{field: 'locNo', align: 'center',title: '库位号', hide:false} |
| | | ,{field: 'locSts$', align: 'center',title: '库位状态', width: 180, style: 'color: #8E2323', hide:false} |
| | | ,{field: 'whsType$', align: 'center',title: '库位类型', width: 180, style: 'color: #8E2323', hide:false} |
| | | ,{field: 'frozen$', align: 'center',title: '冻结状态', |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.frozen$ === '已冻结') { |
| | | return '<span style="color: #34a8de;">' +d.frozen$ + '</span>'; |
| | | } else { |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | }} |
| | | ,{field: 'frozenMemo', align: 'center',title: '冻结原因'} |
| | | ,{field: 'crnNo', align: 'center',title: '堆垛机号', sort:true, hide:false} |
| | | ,{field: 'row1', align: 'center',title: '排', sort:true, hide:true} |
| | | ,{field: 'bay1', align: 'center',title: '列', sort:true, hide:true} |
| | |
| | | <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"> |
| | | <style> |
| | | #frozen-btn { |
| | | display: none; |
| | | } |
| | | #unfreeze-btn{ |
| | | display: none; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | |
| | |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="frozen" class="layui-input" type="text" autocomplete="off"> |
| | | <!-- <option style="display: none"></option>--> |
| | | <option value="">冻结否</option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <input class="layui-input" type="text" name="row" placeholder="排数" autocomplete="off">--> |
| | |
| | | </div> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 10px">导出</button> |
| | | <button class="layui-btn layui-btn-primary layui-bg-blue layui-btn-sm" id="frozen-btn" lay-event="frozen" style="margin-top: 1px">冻结</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="unfreeze-btn" lay-event="unfreeze" style="margin-top: 1px">解冻</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="margin-top: 1px">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | |
| | | <div class="layui-input-inline"> |
| | | <select name="loc_type1" id="loc_type1" class="layui-input" type="text" placeholder="库位类型" autocomplete="off"> |
| | | <!-- <option style="display: none"></option>--> |
| | | <option value=""></option> |
| | | <option value="">库位类型</option> |
| | | <option value="1">低库位</option> |
| | | <option value="2">高库位</option> |
| | | </select> |
| | |
| | | <input class="layui-input" type="text" name="bay1" placeholder="列" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="lev1" placeholder="层" autocomplete="off"> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <input class="layui-input" type="text" name="lev1" placeholder="层" autocomplete="off">--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="layui-input-inline"> |
| | | <select name="frozen" class="layui-input" type="text" autocomplete="off"> |
| | | <!-- <option style="display: none"></option>--> |
| | | <option value="">冻结否</option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | </div> |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> |
| | |
| | | <input id="sheetNo" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <!-- 冻结 --> |
| | | <div class="layui-inline" style="width:80%;"> |
| | | <label class="layui-form-label">冻结</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="frozen" name="frozen"> |
| | | <option style="display: none"></option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:80%;"> |
| | | <label class="layui-form-label">冻结原因:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="frozenMemo" class="layui-input" type="text" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:80%;"> |
| | | <label class="layui-form-label">堆垛机号:</label> |
| | | <div class="layui-input-inline"> |
| | |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <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="maktx" placeholder="物料描述" autocomplete="off"> |
| | | <select name="frozen" class="layui-input" type="text" autocomplete="off"> |
| | | <option value="">冻结否</option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | |
| | | layer.msg("请选择数据", {icon: 2}); |
| | | return; |
| | | } |
| | | if (data.some(obj => obj.frozen === 1)) { |
| | | layer.msg("冻结的库存不允许出库!"); |
| | | return; |
| | | } |
| | | |
| | | let locNos = []; |
| | | data.forEach(function(elem) { |
| | | locNos.push(elem.locNo); |
| | |
| | | <input class="layui-input" type="text" name="maktx" placeholder="物料描述" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="frozen" class="layui-input" type="text" autocomplete="off"> |
| | | <option value="">冻结否</option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | |
| | | layer.msg("请选择数据"); |
| | | return; |
| | | } |
| | | |
| | | if (data.some(obj => obj.frozen === 1)) { |
| | | layer.msg("冻结的库存不允许出库!"); |
| | | return; |
| | | } |
| | | parent.addTableData(data); |
| | | break; |
| | | } |
| | |
| | | </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 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-input-inline"> |
| | | <select name="frozen" class="layui-input" type="text" autocomplete="off"> |
| | | <!-- <option style="display: none"></option>--> |
| | | <option value="">冻结否</option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | </div> |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> |