| | |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.param.FrozenParam; |
| | | import com.zy.asrs.mapper.LocDetlMapper; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | |
| | | return R.ok(stockOut); |
| | | } |
| | | |
| | | @PostMapping(value = "/locDetl/frozenInventory") |
| | | @ManagerAuth(memo = "库存管制") |
| | | public R frozen(@RequestBody List<FrozenParam> param){ |
| | | if (param.size() == 0) { |
| | | return R.parse("未收到数据"); |
| | | } |
| | | |
| | | return locDetlService.frozenInventory(param, getUser().getUsername()); |
| | | } |
| | | |
| | | @PostMapping(value = "/locDetl/unfreezeInventory") |
| | | @ManagerAuth(memo = "库存解除管制") |
| | | public R unfreeze(@RequestBody List<FrozenParam> param){ |
| | | if (param.size() == 0) { |
| | | return R.parse("未收到数据"); |
| | | } |
| | | |
| | | return locDetlService.unfreezeInventory(param, getUser().getUsername()); |
| | | } |
| | | |
| | | @RequestMapping(value = "/locDetl/update") |
| | | public R update1() { |
| | | if (!locDetlService.updateLocNo("0402805", "0402804")) { |
| | |
| | | String specs = null; |
| | | String zpallet = null; |
| | | String batch = null; |
| | | String frozen = null; |
| | | Double anfme = null; |
| | | Date modiTimeStart = null, modiTimeEnd = null; |
| | | for (Map.Entry<String, Object> entry : param.entrySet()) { |
| | |
| | | anfme = Double.parseDouble(val); |
| | | }else if (entry.getKey().equals("matnr")) { |
| | | matnr = val; |
| | | } else if(entry.getKey().equals("frozen")) { |
| | | frozen = val; |
| | | } |
| | | } |
| | | List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectWrkDetlLogs(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd, curr, limit); |
| | | List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectWrkDetlLogs(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd, frozen, curr, limit); |
| | | Page<WrkDetlLog> page1 = new Page<WrkDetlLog>(curr, limit).setRecords(wrkDetlLogs); |
| | | page1.setTotal(wrkDetlLogService.selectWrkDetlLogsTotal(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd)); |
| | | page1.setTotal(wrkDetlLogService.selectWrkDetlLogsTotal(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd,frozen)); |
| | | return R.ok(page1); |
| | | } catch (Exception e) { |
| | | return R.error("异常" + e); |
| | |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.common.utils.Synchro; |
| | | import com.zy.system.entity.Config; |
| | | import com.zy.system.entity.User; |
| | | import com.zy.system.service.ConfigService; |
| | | import com.zy.system.service.UserService; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.ZoneId; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | |
| | | @ApiModelProperty(value= "备注") |
| | | private String memo; |
| | | |
| | | /** |
| | | * 是否管制 |
| | | */ |
| | | @ApiModelProperty(value= "是否管制,0.取消管制,1.管制") |
| | | private Integer frozen; |
| | | |
| | | private String controlMemo; |
| | | |
| | | private Date controlDate; |
| | | |
| | | private String controlUser; |
| | | |
| | | private String uncontrolMemo; |
| | | |
| | | private Date uncontrolDate; |
| | | |
| | | private String uncontrolUser; |
| | | |
| | | public String getLocNo$(){ |
| | | LocMastService service = SpringUtils.getBean(LocMastService.class); |
| | | LocMast locMast = service.selectById(this.locNo); |
| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); |
| | | } |
| | | |
| | | public String getControlDate$(){ |
| | | if (Cools.isEmpty(this.controlDate)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.controlDate); |
| | | } |
| | | |
| | | public String getUncontrolDate$(){ |
| | | if (Cools.isEmpty(this.uncontrolDate)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.uncontrolDate); |
| | | } |
| | | |
| | | // public long getStoreDate(){ |
| | | // long timeNow = new Date().getTime(); |
| | | // long timeCreate = this.appeTime.getTime(); |
| | | // |
| | | // return (timeNow - timeCreate) /24/60/60/1000; |
| | | // } |
| | | public String getFrozen$() { |
| | | if (null == this.frozen){ return null; } |
| | | switch (this.frozen){ |
| | | case 0: |
| | | return "未管制"; |
| | | case 1: |
| | | ConfigService service = SpringUtils.getBean(ConfigService.class); |
| | | Config config = service.selectConfigByCode("durationOfFilmRollControl"); |
| | | int day = Integer.parseInt(config.getValue()); |
| | | LocalDate appLocalDate = this.appeTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate newAppLocalDate = appLocalDate.plusDays(day); |
| | | return newAppLocalDate.isAfter(LocalDate.now()) ? "已管制1": "已管制2"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public void sync(Object source) { |
| | | Synchro.Copy(source, this); |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.core.common.Cools; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.system.entity.Config; |
| | | import com.zy.system.entity.User; |
| | | import com.zy.system.service.ConfigService; |
| | | import com.zy.system.service.UserService; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.ZoneId; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value= "备注") |
| | | private String memo; |
| | | |
| | | /** |
| | | * 是否管制 |
| | | */ |
| | | @ApiModelProperty(value= "是否管制,0.取消管制,1.管制") |
| | | private Integer frozen; |
| | | |
| | | private String control_memo; |
| | | |
| | | private Date control_date; |
| | | |
| | | private String control_user; |
| | | |
| | | private String uncontrol_memo; |
| | | |
| | | private Date uncontrol_date; |
| | | |
| | | private String uncontrol_user; |
| | | |
| | | public String getModiUser$(){ |
| | | UserService service = SpringUtils.getBean(UserService.class); |
| | | User user = service.selectById(this.modi_user); |
| | |
| | | } |
| | | } |
| | | |
| | | public String getControlDate$(){ |
| | | if (Cools.isEmpty(this.control_date)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.control_date); |
| | | } |
| | | |
| | | public String getUncontrolDate$(){ |
| | | if (Cools.isEmpty(this.uncontrol_date)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.uncontrol_date); |
| | | } |
| | | |
| | | public String getFrozen$() { |
| | | if (null == this.frozen){ return null; } |
| | | switch (this.frozen){ |
| | | case 0: |
| | | return "未管制"; |
| | | case 1: |
| | | ConfigService service = SpringUtils.getBean(ConfigService.class); |
| | | Config config = service.selectConfigByCode("durationOfFilmRollControl"); |
| | | int day = Integer.parseInt(config.getValue()); |
| | | Date appeTime = (Date) this.appe_time; |
| | | LocalDate appLocalDate = appeTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate newAppLocalDate = appLocalDate.plusDays(day); |
| | | return newAppLocalDate.isAfter(LocalDate.now()) ? "已管制1": "已管制2"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.common.utils.Synchro; |
| | | import com.zy.system.entity.Config; |
| | | import com.zy.system.entity.User; |
| | | import com.zy.system.service.ConfigService; |
| | | import com.zy.system.service.UserService; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.ZoneId; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | |
| | | @ApiModelProperty(value= "备注") |
| | | private String memo; |
| | | |
| | | /** |
| | | * 是否管制 |
| | | */ |
| | | @ApiModelProperty(value= "是否管制,0.取消管制,1.管制") |
| | | private Integer frozen; |
| | | |
| | | private String controlMemo; |
| | | |
| | | private Date controlDate; |
| | | |
| | | private String controlUser; |
| | | |
| | | private String uncontrolMemo; |
| | | |
| | | private Date uncontrolDate; |
| | | |
| | | private String uncontrolUser; |
| | | |
| | | public String getIoTime$(){ |
| | | if (Cools.isEmpty(this.ioTime)){ |
| | | return ""; |
| | |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); |
| | | } |
| | | public String getControlDate$(){ |
| | | if (Cools.isEmpty(this.controlDate)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.controlDate); |
| | | } |
| | | |
| | | public String getUncontrolDate$(){ |
| | | if (Cools.isEmpty(this.uncontrolDate)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.uncontrolDate); |
| | | } |
| | | |
| | | public String getFrozen$() { |
| | | if (null == this.frozen){ return null; } |
| | | switch (this.frozen){ |
| | | case 0: |
| | | return "未管制"; |
| | | case 1: |
| | | ConfigService service = SpringUtils.getBean(ConfigService.class); |
| | | Config config = service.selectConfigByCode("durationOfFilmRollControl"); |
| | | int day = Integer.parseInt(config.getValue()); |
| | | LocalDate appLocalDate = this.appeTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate newAppLocalDate = appLocalDate.plusDays(day); |
| | | return newAppLocalDate.isAfter(LocalDate.now()) ? "已管制1": "已管制2"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | public void sync(Object source) { |
| | | Synchro.Copy(source, this); |
| | |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.core.common.Cools; |
| | | import com.core.common.SpringUtils; |
| | | import com.zy.system.entity.Config; |
| | | import com.zy.system.entity.User; |
| | | import com.zy.system.service.ConfigService; |
| | | import com.zy.system.service.UserService; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.ZoneId; |
| | | import java.util.Date; |
| | | |
| | | @Data |
| | |
| | | @ApiModelProperty(value= "备注") |
| | | private String memo; |
| | | |
| | | /** |
| | | * 是否管制 |
| | | */ |
| | | @ApiModelProperty(value= "是否管制,0.取消管制,1.管制") |
| | | private Integer frozen; |
| | | |
| | | private String controlMemo; |
| | | |
| | | private Date controlDate; |
| | | |
| | | private String controlUser; |
| | | |
| | | private String uncontrolMemo; |
| | | |
| | | private Date uncontrolDate; |
| | | |
| | | private String uncontrolUser; |
| | | |
| | | public String getIoTime$(){ |
| | | if (Cools.isEmpty(this.ioTime)){ |
| | | return ""; |
| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); |
| | | } |
| | | |
| | | public String getControlDate$(){ |
| | | if (Cools.isEmpty(this.controlDate)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.controlDate); |
| | | } |
| | | |
| | | public String getUncontrolDate$(){ |
| | | if (Cools.isEmpty(this.uncontrolDate)){ |
| | | return ""; |
| | | } |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.uncontrolDate); |
| | | } |
| | | |
| | | public String getFrozen$() { |
| | | if (null == this.frozen){ return null; } |
| | | switch (this.frozen){ |
| | | case 0: |
| | | return "未管制"; |
| | | case 1: |
| | | ConfigService service = SpringUtils.getBean(ConfigService.class); |
| | | Config config = service.selectConfigByCode("durationOfFilmRollControl"); |
| | | int day = Integer.parseInt(config.getValue()); |
| | | LocalDate appLocalDate = this.appeTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| | | LocalDate newAppLocalDate = appLocalDate.plusDays(day); |
| | | return newAppLocalDate.isAfter(LocalDate.now()) ? "已管制1": "已管制2"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | 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; |
| | | |
| | | /** |
| | | * 管制原因 |
| | | */ |
| | | private String memo; |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.param.FrozenParam; |
| | | import com.zy.asrs.entity.result.StockVo; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | |
| | | |
| | | 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); |
| | | /** |
| | | * 管制/解除管制库存明细 |
| | | * @param obj 库存 |
| | | * @param userName 操作账号 |
| | | * @param frozen 0解除管制,1管制 |
| | | */ |
| | | void frozenInventory(@Param("obj") FrozenParam obj,@Param("userName") String userName, @Param("frozen") int frozen); |
| | | |
| | | } |
| | |
| | | @Param("anfme") Double anfme, |
| | | @Param("modiTimeStart") Date modiTimeStart, |
| | | @Param("modiTimeEnd") Date modiTimeEnd, |
| | | @Param("frozen") String frozen, |
| | | @Param("pageNumber") Integer curr, |
| | | @Param("pageSize") Integer limit); |
| | | |
| | |
| | | @Param("batch") String batch, |
| | | @Param("anfme") Double anfme, |
| | | @Param("modiTimeStart") Date modiTimeStart, |
| | | @Param("modiTimeEnd") Date modiTimeEnd); |
| | | @Param("modiTimeEnd") Date modiTimeEnd, |
| | | @Param("frozen") String frozen); |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.param.FrozenParam; |
| | | import com.zy.asrs.entity.result.StockVo; |
| | | |
| | | import java.util.List; |
| | |
| | | |
| | | public interface LocDetlService extends IService<LocDetl> { |
| | | |
| | | /** |
| | | * 管制 |
| | | */ |
| | | R frozenInventory(List<FrozenParam> param,String userName); |
| | | |
| | | /** |
| | | * 库存解除管制 |
| | | */ |
| | | R unfreezeInventory(List<FrozenParam> param,String userName); |
| | | |
| | | Page<LocDetl> getPage(Page<LocDetl> page); |
| | | |
| | | LocDetl selectItem(String locNo, String matnr, String batch); |
| | |
| | | |
| | | boolean save(Integer workNo); |
| | | |
| | | List<WrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit); |
| | | List<WrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd,String frozen, Integer curr, Integer limit); |
| | | |
| | | Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd); |
| | | Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd, String frozen); |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.param.FrozenParam; |
| | | import com.zy.asrs.entity.result.StockVo; |
| | | import com.zy.asrs.mapper.LocDetlMapper; |
| | | import com.zy.asrs.service.LocDetlService; |
| | |
| | | public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService { |
| | | |
| | | @Override |
| | | public R frozenInventory(List<FrozenParam> param,String userName) { |
| | | |
| | | for(FrozenParam obj : param) { |
| | | this.baseMapper.frozenInventory(obj,userName,1); |
| | | } |
| | | |
| | | return R.ok("库存管制完成!"); |
| | | } |
| | | |
| | | @Override |
| | | public R unfreezeInventory(List<FrozenParam> param,String userName) { |
| | | |
| | | for(FrozenParam obj : param) { |
| | | this.baseMapper.frozenInventory(obj, userName, 0); |
| | | } |
| | | |
| | | return R.ok("解除管制成功!"); |
| | | } |
| | | |
| | | @Override |
| | | public Page<LocDetl> getPage(Page<LocDetl> page) { |
| | | page.setRecords(baseMapper.listByPage(page.getCondition())); |
| | | page.setTotal(baseMapper.listByPageCount(page.getCondition())); |
| | |
| | | for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) { |
| | | if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) { |
| | | LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch()); |
| | | if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); |
| | | if (null != one) { |
| | | if (one.getFrozen() == 1) |
| | | throw new CoolException(one.getMatnr() + "【" + one.getBatch() + "】" + "已冻结"); |
| | | locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount())); |
| | | } |
| | | } |
| | | } |
| | | if (!locDetlDtos.isEmpty()) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<WrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit) { |
| | | return this.baseMapper.selectWrkDetlLogs(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd, curr, limit); |
| | | public List<WrkDetlLog> selectWrkDetlLogs(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd, String frozen,Integer curr, Integer limit) { |
| | | return this.baseMapper.selectWrkDetlLogs(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd,frozen, curr, limit); |
| | | } |
| | | |
| | | @Override |
| | | public Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd) { |
| | | return this.baseMapper.selectWrkDetlLogsTotal(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd); |
| | | public Long selectWrkDetlLogsTotal(Integer wrkNo, String orderNo,String matnr,String specs,String zpallet,String batch,Double anfme, Date modiTimeStart, Date modiTimeEnd, String frozen) { |
| | | return this.baseMapper.selectWrkDetlLogsTotal(wrkNo, orderNo,matnr,specs,zpallet,batch,anfme, modiTimeStart, modiTimeEnd,frozen); |
| | | } |
| | | } |
| | |
| | | <result column="appe_user" property="appeUser" /> |
| | | <result column="appe_time" property="appeTime" /> |
| | | <result column="memo" property="memo" /> |
| | | <result column="frozen" property="frozen" /> |
| | | <result column="control_memo" property="controlMemo" /> |
| | | <result column="control_date" property="controlDate" /> |
| | | <result column="control_user" property="controlUser" /> |
| | | <result column="uncontrol_memo" property="uncontrolMemo" /> |
| | | <result column="uncontrol_date" property="uncontrolDate" /> |
| | | <result column="uncontrol_user" property="uncontrolUser" /> |
| | | </resultMap> |
| | | |
| | | <sql id="batchSeq"> |
| | |
| | | </otherwise> |
| | | </choose> |
| | | </sql> |
| | | |
| | | <update id="frozenInventory"> |
| | | update asr_loc_detl |
| | | <set> |
| | | <if test="frozen == 1"> |
| | | frozen = 1,control_memo=#{obj.memo},control_date=getdate(),control_user=#{userName} |
| | | </if> |
| | | <if test="frozen == 0"> |
| | | frozen = 0,uncontrol_memo=#{obj.memo},uncontrol_date=getdate(),uncontrol_user=#{userName} |
| | | </if> |
| | | </set> |
| | | where loc_no = #{obj.locNo} and matnr = #{obj.matnr} and batch = #{obj.batch} |
| | | </update> |
| | | |
| | | <select id="selectItem" resultMap="BaseResultMap"> |
| | | select top 1 * |
| | |
| | | <if test="weight!=null and weight!='' "> |
| | | and a.weight like '%' + #{weight} + '%' |
| | | </if> |
| | | <if test="frozen!=null and frozen!='' "> |
| | | and a.frozen=#{frozen} |
| | | </if> |
| | | </sql> |
| | | |
| | | <select id="getStockOutPage" resultMap="BaseResultMap"> |
| | |
| | | <if test="specs != null and specs != ''"> |
| | | and specs like concat('%',#{specs},'%') |
| | | </if> |
| | | <if test="frozen != null and frozen eq '0'.toString()"> |
| | | and control_memo = '' |
| | | </if> |
| | | <if test="frozen != null and frozen eq '1'.toString()"> |
| | | and control_memo != '' |
| | | </if> |
| | | </sql> |
| | | |
| | | <sql id="viewWorkOutConditionSql"> |
| | |
| | | <result column="appe_user" property="appeUser"/> |
| | | <result column="appe_time" property="appeTime"/> |
| | | <result column="memo" property="memo"/> |
| | | <result column="frozen" property="frozen" /> |
| | | <result column="control_memo" property="controlMemo" /> |
| | | <result column="control_date" property="controlDate" /> |
| | | <result column="control_user" property="controlUser" /> |
| | | <result column="uncontrol_memo" property="uncontrolMemo" /> |
| | | <result column="uncontrol_date" property="uncontrolDate" /> |
| | | <result column="uncontrol_user" property="uncontrolUser" /> |
| | | </resultMap> |
| | | |
| | | <sql id="batchSeq"> |
| | |
| | | <if test="specs != null and specs != ''"> |
| | | and a.specs like concat('%',#{specs},'%') |
| | | </if> |
| | | <if test="frozen != null and frozen eq '0'.toString()"> |
| | | and a.control_memo = '' |
| | | </if> |
| | | <if test="frozen != null and frozen eq '1'.toString()"> |
| | | and a.control_memo != '' |
| | | </if> |
| | | </sql> |
| | | |
| | | <select id="selectWrkDetlLogs" resultMap="BaseResultMap"> |
| | |
| | | ,{field: 'danger$', align: 'center',title: '危险品', hide: true} |
| | | ,{field: 'zpallet', align: 'center',title: '条码', hide: false} |
| | | ,{field: 'barcode', align: 'center',title: '条码', hide: true} |
| | | ,{field: 'frozen$', align: 'center',title: '管制否', |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.frozen$ === '已管制1') { |
| | | return '<span style="color: #6bf14d;">已管制</span>'; |
| | | } else if (d.frozen$ === '已管制2') { |
| | | return '<span style="color: #de3434;">已管制</span>'; |
| | | } else { |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | } |
| | | } |
| | | ,{field: 'controlMemo', align: 'center',title: '管制备注', hide: true} |
| | | ,{field: 'controlDate$', align: 'center',title: '管制时间', hide: true} |
| | | ,{field: 'controlUser', align: 'center',title: '管制用户', hide: true} |
| | | ,{field: 'uncontrolMemo', align: 'center',title: '解除管制备注', hide: true} |
| | | ,{field: 'uncontrolDate$', align: 'center',title: '解除管制时间', hide: true} |
| | | ,{field: 'uncontrolUser', align: 'center',title: '解除管制用户', hide: true} |
| | | ] |
| | | |
| | | // 出库日志 |
| | | var inAndOutDetlLog = [ |
| | | {field: 'matnr', align: 'center',title: '物料编号', sort:true} |
| | | ,{field: 'maktx', align: 'center',title: '商品名称(品名)', sort:true,hide: true} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true} |
| | | ,{field: 'batch', align: 'center',title: '批号', sort:true,hide: false} |
| | | ,{field: 'model', align: 'center',title: '型号', hide: false} |
| | | ,{field: 'anfme', align: 'center',title: '数量', hide: true} |
| | | ,{field: 'specs', align: 'center',title: '膜类型', hide: false} |
| | | ,{field: 'color', align: 'center',title: '颜色', hide: true} |
| | | ,{field: 'brand', align: 'center',title: '品牌', hide: true} |
| | | ,{field: 'unit', align: 'center',title: '单位', hide: true} |
| | | ,{field: 'price', align: 'center',title: '单价', hide: true} |
| | | ,{field: 'sku', align: 'center',title: 'sku', hide: true} |
| | | ,{field: 'units', align: 'center',title: '单位量', hide: true} |
| | | ,{field: 'origin', align: 'center',title: '产地', hide: true} |
| | | ,{field: 'manu', align: 'center',title: '厂家', hide: true} |
| | | ,{field: 'manuDate', align: 'center',title: '生产日期', hide: false} |
| | | ,{field: 'itemNum', align: 'center',title: '品项数', hide: true} |
| | | ,{field: 'safeQty', align: 'center',title: '安全库存量', hide: true} |
| | | ,{field: 'length', align: 'center',title: '长', hide: false} |
| | | ,{field: 'weight', align: 'center',title: '宽', hide: false} |
| | | ,{field: 'volume', align: 'center',title: '面积', hide: false} |
| | | ,{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} |
| | | ,{field: 'deadTime', align: 'center',title: '保质期', hide: true} |
| | | ,{field: 'deadWarn', align: 'center',title: '预警天数', hide: true} |
| | | ,{field: 'source$', align: 'center',title: '制购', hide: true} |
| | | ,{field: 'check$', align: 'center',title: '要求检验', hide: true} |
| | | ,{field: 'danger$', align: 'center',title: '危险品', hide: true} |
| | | ,{field: 'zpallet', align: 'center',title: '条码', hide: false} |
| | | ,{field: 'barcode', align: 'center',title: '条码', hide: true} |
| | | ,{field: 'frozen$', align: 'center',title: '管制否', hide: true, |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.frozen$ === '已管制1') { |
| | | return '<span style="color: #6bf14d;">已管制</span>'; |
| | | } else if (d.frozen$ === '已管制2') { |
| | | return '<span style="color: #de3434;">已管制</span>'; |
| | | } else { |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | } |
| | | } |
| | | ,{field: 'control_memo', align: 'center',title: '管制备注', hide: true} |
| | | ,{field: 'controlDate$', align: 'center',title: '管制时间', hide: true} |
| | | ,{field: 'control_user', align: 'center',title: '管制用户', hide: true} |
| | | ,{field: 'uncontrol_memo', align: 'center',title: '解除管制备注', hide: true} |
| | | ,{field: 'uncontrolDate$', align: 'center',title: '解除管制时间', hide: true} |
| | | ,{field: 'uncontrol_user', align: 'center',title: '解除管制用户', hide: true} |
| | | ] |
| | | |
| | |
| | | var pageCurr; |
| | | var requestData; |
| | | var controlFlag; |
| | | function getCol() { |
| | | var cols = [ |
| | | {type: 'checkbox'}, |
| | | {field: 'locNo$', align: 'center',title: '库位号'} |
| | | ,{field: 'storeDate', align: 'center',title: '库龄(天)', sort:true, hide: true} |
| | | ,{field: 'matnr', align: 'center',title: '物料编号', sort:true} |
| | |
| | | ,{field: 'check$', align: 'center',title: '要求检验', hide: true} |
| | | ,{field: 'danger$', align: 'center',title: '危险品', hide: true} |
| | | ,{field: 'zpallet', align: 'center',title: '条码'} |
| | | ,{field: 'frozen$', align: 'center',title: '管制否', |
| | | templet: function(d) { |
| | | // 根据条件判断字体颜色 |
| | | if (d.frozen$ === '已管制1') { |
| | | return '<span style="color: #6bf14d;">已管制</span>'; |
| | | } else if (d.frozen$ === '已管制2') { |
| | | return '<span style="color: #de3434;">已管制</span>'; |
| | | } else { |
| | | return '<span">' +d.frozen$ + '</span>'; |
| | | } |
| | | } |
| | | } |
| | | ,{field: 'controlMemo', align: 'center',title: '管制备注', hide: true} |
| | | ,{field: 'controlDate$', align: 'center',title: '管制时间', hide: true} |
| | | ,{field: 'controlUser', align: 'center',title: '管制用户', hide: true} |
| | | ,{field: 'uncontrolMemo', align: 'center',title: '解除管制备注', hide: true} |
| | | ,{field: 'uncontrolDate$', align: 'center',title: '解除管制时间', hide: true} |
| | | ,{field: 'uncontrolUser', align: 'center',title: '解除管制用户', hide: true} |
| | | |
| | | ]; |
| | | |
| | |
| | | }); |
| | | }); |
| | | break; |
| | | // 冻结 |
| | | case 'frozen': |
| | | let frozenData = checkStatus.data; |
| | | if (frozenData.length === 0){ |
| | | layer.msg('请选择数据'); |
| | | } else { |
| | | var flag = frozenData.find(item => item.frozen === 1) |
| | | if (flag === undefined) { |
| | | } else { |
| | | layer.msg(flag.batch + '已管制'); |
| | | return; |
| | | } |
| | | requestData = frozenData.map(obj => ({ |
| | | locNo: obj.locNo, |
| | | matnr: obj.matnr, |
| | | batch: obj.batch |
| | | }) |
| | | ); |
| | | controlFlag = 1; |
| | | layer.open({ |
| | | type: 2, |
| | | title: '库存管制', |
| | | maxmin: true, |
| | | area: ['400px', top.detailHeight], |
| | | shadeClose: false, |
| | | content: 'locDetl_detail.html', |
| | | success: function(layero, index){ |
| | | layer.getChildFrame('#data-detail-submit-edit', index).hide(); |
| | | clearFormVal(layer.getChildFrame('#detail', index)); |
| | | layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); |
| | | } |
| | | }); |
| | | } |
| | | break; |
| | | // 解冻 |
| | | case 'unfreeze': |
| | | let unfreezeData = checkStatus.data; |
| | | if (unfreezeData.length === 0){ |
| | | layer.msg('请选择数据'); |
| | | } else { |
| | | var flag2 = unfreezeData.find(item => item.frozen === 0) |
| | | if (flag2 === undefined) { |
| | | } else { |
| | | layer.msg(flag2.batch + '未管制'); |
| | | return; |
| | | } |
| | | requestData = unfreezeData.map(obj => ({ |
| | | locNo: obj.locNo, |
| | | matnr: obj.matnr, |
| | | batch: obj.batch |
| | | }) |
| | | ); |
| | | controlFlag = 0; |
| | | layer.open({ |
| | | type: 2, |
| | | title: '库存解除管制', |
| | | maxmin: true, |
| | | area: ['400px', top.detailHeight], |
| | | shadeClose: false, |
| | | content: 'locDetl_detail.html', |
| | | success: function(layero, index){ |
| | | layer.getChildFrame('#data-detail-submit-edit', index).hide(); |
| | | clearFormVal(layer.getChildFrame('#detail', index)); |
| | | layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); |
| | | } |
| | | }); |
| | | } |
| | | break; |
| | | } |
| | | }); |
| | | |
| | |
| | | |
| | | // 数据保存动作 |
| | | form.on('submit(save)', function () { |
| | | if (banMsg != null){ |
| | | layer.msg(banMsg); |
| | | var memo = $('#memo').val().trim() |
| | | if (memo === '') { |
| | | layer.msg('备注不能为空'); |
| | | return; |
| | | } |
| | | method("add"); |
| | | var index = layer.load(1, { |
| | | shade: [0.5, '#000'] //0.1透明度的背景 |
| | | }); |
| | | parent.requestData.forEach(item => { |
| | | item.memo = memo; |
| | | }) |
| | | |
| | | var path = parent.controlFlag === 1 ? "/locDetl/frozenInventory" : "/locDetl/unfreezeInventory"; |
| | | |
| | | $.ajax({ |
| | | url: baseUrl + path, |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify(parent.requestData), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | traditional: true, |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | $("#data-detail :input").each(function () { |
| | | $(this).val(""); |
| | | }); |
| | | parent.layer.closeAll(); |
| | | parent.tableReload(false); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg) |
| | | } |
| | | layer.close(index); |
| | | } |
| | | }) |
| | | |
| | | // if (banMsg != null){ |
| | | // layer.msg(banMsg); |
| | | // return; |
| | | // } |
| | | // method("add"); |
| | | }); |
| | | |
| | | // 数据修改动作 |
| | |
| | | {field: 'ioTime$', align: 'center', title: '入库日期', width: 200} |
| | | ,{field: 'loc_no', align: 'center',title: '库位号'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | cols.push.apply(cols, inAndOutDetlLog); |
| | | return cols; |
| | | } |
| | | |
| | |
| | | ,{field: 'crn_str_time', align: 'center',title: '堆垛机启动时间'} |
| | | ,{field: 'crn_end_time', align: 'center',title: '堆垛机停止时间'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | cols.push.apply(cols, inAndOutDetlLog); |
| | | return cols; |
| | | } |
| | | |
| | |
| | | <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="weight" 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 id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" style="margin-right: 10px" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" style="margin-right: 10px" lay-submit lay-filter="reset">重置</button> |
| | | <!-- <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">查看异常数据</button>--> |
| | | </div> |
| | | |
| | |
| | | </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 id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form"> |
| | | <!-- |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | --> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>库 位 号:</label> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="locNo" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')" lay-verify="required" style="display: none"> |
| | | <input id="locNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="locMastQueryBylocNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="locMastQueryBylocNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>物 料:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="matnr" class="layui-input" type="text" onkeyup="check(this.id, 'locDetl')" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">仓 库 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="lgnum" class="layui-input" type="text" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label" style="font-size: x-small">转储请求编号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="tbnum" class="layui-input" type="text" lay-verify="number" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">行 项 目:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="tbpos" class="layui-input" type="text" lay-verify="number" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label" style="font-size: x-small">物料标签ID:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="zmatid" class="layui-input" type="text" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">物料描述:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="maktx" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">工 厂:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="werks" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">数 量:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="anfme" class="layui-input" type="text" lay-verify="number" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">单 位:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="altme" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">托盘条码:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="zpallet" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">用户ID:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="bname" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">备 注:</label> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>备注:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="memo" class="layui-input" type="text"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">修改人员:</label> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="modiUser" class="layui-input" type="text" lay-verify="number" style="display: none"> |
| | | <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">修改时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="modiTime$" class="layui-input" type="text" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">创 建 者:</label> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="appeUser" class="layui-input" type="text" lay-verify="number" style="display: none"> |
| | | <input id="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;display: none"> |
| | | <label class="layui-form-label">添加时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存</div> |
| | | <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">修改</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | 温馨提示:<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | |
| | | <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("请选择数据", {icon: 2}); |
| | | return; |
| | | } |
| | | if (data.some(obj => obj.frozen === 1)) { |
| | | layer.msg("管制膜卷不允许出库!"); |
| | | return; |
| | | } |
| | | let locNos = []; |
| | | data.forEach(function(elem) { |
| | | locNos.push(elem.locNo); |
| | |
| | | </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"> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="crnNo" class="layui-input" name="crnNo" type="text" placeholder="请输入" autocomplete="off" style="display: none"> |
| | | <input id="crnNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="堆垛机号" onfocus=this.blur()> |
| | |
| | | layer.msg("请选择数据"); |
| | | return; |
| | | } |
| | | if (data.some(obj => obj.frozen === 1)) { |
| | | layer.msg("管制膜卷不允许出库!"); |
| | | return; |
| | | } |
| | | parent.addTableData(data); |
| | | break; |
| | | } |
| | |
| | | <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="anfme" placeholder="数量" autocomplete="off">--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="anfme" placeholder="数量" autocomplete="off"> |
| | | <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" style="width: 300px"> |
| | |
| | | <input class="layui-input" type="text" name="batch" 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="anfme" placeholder="数量" autocomplete="off">--> |