Merge remote-tracking branch 'origin/master_merge' into master_merge
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package org.nl.b_lms.pdm.bi.slittingproductionplan.service;
|
package org.nl.b_lms.pdm.bi.slittingproductionplan.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
@@ -77,4 +78,10 @@ public interface IPdmBiSlittingproductionplanService extends IService<PdmBiSlitt
|
|||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
PdmBiSlittingproductionplan getByContainerName(String containerName);
|
PdmBiSlittingproductionplan getByContainerName(String containerName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置气胀轴方向
|
||||||
|
* @param whereJson /
|
||||||
|
*/
|
||||||
|
void setDirection(JSONObject whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package org.nl.b_lms.pdm.bi.slittingproductionplan.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@@ -12,8 +15,10 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproducti
|
|||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
|
import org.nl.common.utils.TaskUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -21,6 +26,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 服务实现
|
* @description 服务实现
|
||||||
@@ -111,5 +117,29 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
|
|||||||
return pdmBiSlittingproductionplanMapper.selectOne(lam);
|
return pdmBiSlittingproductionplanMapper.selectOne(lam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setDirection(JSONObject whereJson) {
|
||||||
|
JSONArray data = whereJson.getJSONArray("data");
|
||||||
|
String upOrDown = whereJson.getString("up_or_down");
|
||||||
|
String leftOrRight = whereJson.getString("left_or_right");
|
||||||
|
List<String> workorderId = SlitterTaskUtil.getAllStringByName(data, "workorder_id");
|
||||||
|
if (ObjectUtil.isNotEmpty(upOrDown)) {
|
||||||
|
// 设置上下轴
|
||||||
|
PdmBiSlittingproductionplan demo = new PdmBiSlittingproductionplan();
|
||||||
|
demo.setUp_or_down(upOrDown);
|
||||||
|
TaskUtils.updateOptMessageBySlitterPlan(demo);
|
||||||
|
this.saveOrUpdate(demo, new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||||
|
.in(PdmBiSlittingproductionplan::getWorkorder_id, workorderId));
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isNotEmpty(leftOrRight)) {
|
||||||
|
// 设置上下轴
|
||||||
|
PdmBiSlittingproductionplan demo = new PdmBiSlittingproductionplan();
|
||||||
|
demo.setLeft_or_right(leftOrRight);
|
||||||
|
TaskUtils.updateOptMessageBySlitterPlan(demo);
|
||||||
|
this.saveOrUpdate(demo, new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||||
|
.in(PdmBiSlittingproductionplan::getWorkorder_id, workorderId));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
WHERE b.point_status = '3'
|
WHERE b.point_status = '3'
|
||||||
AND b.ivt_status = '3'
|
AND b.ivt_status = '3'
|
||||||
AND a.sale_order_name = #{sale_order_name}
|
AND a.sale_order_name = #{sale_order_name}
|
||||||
ORDER BY paper_tube_description
|
ORDER BY box_group
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -295,8 +295,11 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
Set<String> containerNameList = packagerelationList.stream()
|
Set<String> containerNameList = packagerelationList.stream()
|
||||||
.map(PdmBiSubpackagerelation::getContainer_name)
|
.map(PdmBiSubpackagerelation::getContainer_name)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
BigDecimal totalWeight;
|
|
||||||
List<PdmBiSlittingproductionplan> planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().in(PdmBiSlittingproductionplan::getContainer_name, containerNameList));
|
List<PdmBiSlittingproductionplan> planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().in(PdmBiSlittingproductionplan::getContainer_name, containerNameList));
|
||||||
|
if (CollectionUtils.isEmpty(planList)) {
|
||||||
|
throw new BadRequestException("该箱号不存在分切计划");
|
||||||
|
}
|
||||||
|
BigDecimal totalWeight;
|
||||||
totalWeight = planList.stream()
|
totalWeight = planList.stream()
|
||||||
.map(PdmBiSlittingproductionplan::getWeight)
|
.map(PdmBiSlittingproductionplan::getWeight)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
|
|||||||
@@ -1,21 +1,25 @@
|
|||||||
package org.nl.b_lms.sch.point.controller;
|
package org.nl.b_lms.sch.point.controller;
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaIgnore;
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||||
|
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||||
|
import org.nl.common.TableDataInfo;
|
||||||
|
import org.nl.common.domain.query.PageQuery;
|
||||||
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
import org.nl.modules.logging.annotation.Log;
|
||||||
|
import org.nl.wms.pdm.ivt.service.dto.DeliveryPointIvtDto;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,6 +39,19 @@ public class BstIvtPackageinfoivtController {
|
|||||||
private IbstIvtPackageinfoivtService bstIvtPackageinfoivtService;
|
private IbstIvtPackageinfoivtService bstIvtPackageinfoivtService;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询
|
||||||
|
*
|
||||||
|
* @param whereJson 查询条件
|
||||||
|
* @param page 分页参数
|
||||||
|
*/
|
||||||
|
@GetMapping
|
||||||
|
@Log("查询点位库存")
|
||||||
|
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page) {
|
||||||
|
return new ResponseEntity<>(TableDataInfo.build(bstIvtPackageinfoivtService.queryAll(whereJson, page)), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一楼装箱区点位二次分配
|
* 一楼装箱区点位二次分配
|
||||||
*
|
*
|
||||||
@@ -53,10 +70,7 @@ public class BstIvtPackageinfoivtController {
|
|||||||
return new ResponseEntity<>(bstIvtPackageinfoivtService.secondaryAllocationPoint(taskCode, actionType), HttpStatus.OK);
|
return new ResponseEntity<>(bstIvtPackageinfoivtService.secondaryAllocationPoint(taskCode, actionType), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* agv二次分配类型(1、普通任务 2、取货二次分配 3、防货二次分配 4、取放货二次分配)
|
|
||||||
*/
|
|
||||||
private String agv_action_type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增数据
|
* 新增数据
|
||||||
@@ -65,12 +79,28 @@ public class BstIvtPackageinfoivtController {
|
|||||||
* @return 新增结果
|
* @return 新增结果
|
||||||
*/
|
*/
|
||||||
@PostMapping
|
@PostMapping
|
||||||
|
@Log("修改点位库存")
|
||||||
public ResponseEntity<Object> create(@RequestBody BstIvtPackageinfoivt params) {
|
public ResponseEntity<Object> create(@RequestBody BstIvtPackageinfoivt params) {
|
||||||
bstIvtPackageinfoivtService.create(params);
|
bstIvtPackageinfoivtService.create(params);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
* @param params 实体对象
|
||||||
|
* @return 修改结果
|
||||||
|
*/
|
||||||
|
@PutMapping
|
||||||
|
@Log("修改点位库存")
|
||||||
|
//@SaCheckPermission("@el.check('deliverypointivt:edit')")
|
||||||
|
public ResponseEntity<Object> update(@Validated @RequestBody BstIvtPackageinfoivt params) {
|
||||||
|
bstIvtPackageinfoivtService.update(params);
|
||||||
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除数据
|
* 删除数据
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -75,6 +75,15 @@ public interface IbstIvtPackageinfoivtService extends IService<BstIvtPackageinfo
|
|||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
*
|
*
|
||||||
|
* @param params 实体对象
|
||||||
|
*/
|
||||||
|
void update(BstIvtPackageinfoivt params);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手持子卷质检
|
||||||
|
*
|
||||||
* @param whereJson /
|
* @param whereJson /
|
||||||
*/
|
*/
|
||||||
JSONObject update(JSONObject whereJson);
|
JSONObject update(JSONObject whereJson);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package org.nl.b_lms.sch.point.service.impl;
|
package org.nl.b_lms.sch.point.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.map.MapUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
@@ -26,6 +27,7 @@ import org.nl.modules.common.exception.BadRequestException;
|
|||||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
import org.redisson.api.RedissonClient;
|
import org.redisson.api.RedissonClient;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -66,8 +68,24 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IPage<BstIvtPackageinfoivt> queryAll(Map whereJson, PageQuery page) {
|
public IPage<BstIvtPackageinfoivt> queryAll(Map whereJson, PageQuery page) {
|
||||||
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), new QueryWrapper<BstIvtPackageinfoivt>()
|
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new QueryWrapper<BstIvtPackageinfoivt>().lambda();
|
||||||
.lambda());
|
String isUsed = MapUtil.getStr(whereJson, "is_used");
|
||||||
|
String pointCode = MapUtil.getStr(whereJson, "point_code");
|
||||||
|
String packageInfoArea = MapUtil.getStr(whereJson, "packageinfo_area");
|
||||||
|
String ivtStatus = MapUtil.getStr(whereJson, "ivt_status");
|
||||||
|
if (StringUtils.isNotEmpty(isUsed)) {
|
||||||
|
queryWrapper.eq(BstIvtPackageinfoivt::getIs_used, isUsed);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(pointCode)) {
|
||||||
|
queryWrapper.like(BstIvtPackageinfoivt::getPoint_code, pointCode);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(packageInfoArea)) {
|
||||||
|
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_status, packageInfoArea);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(ivtStatus)) {
|
||||||
|
queryWrapper.eq(BstIvtPackageinfoivt::getIvt_status, ivtStatus);
|
||||||
|
}
|
||||||
|
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -497,12 +515,27 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void create(BstIvtPackageinfoivt entity) {
|
public void create(BstIvtPackageinfoivt entity) {
|
||||||
bstIvtPackageinfoivtMapper.insert(getBasicInfo(entity, true));
|
bstIvtPackageinfoivtMapper.insert(getBasicInfo(entity, null, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param params 实体对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void update(BstIvtPackageinfoivt params) {
|
||||||
|
BstIvtPackageinfoivt dto = bstIvtPackageinfoivtMapper.selectById(params.getIvt_id());
|
||||||
|
if (dto == null) {
|
||||||
|
throw new BadRequestException("不存在该数据!");
|
||||||
|
}
|
||||||
|
bstIvtPackageinfoivtMapper.updateById(getBasicInfo(params, dto, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手持子卷质检
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public JSONObject update(JSONObject whereJson) {
|
public JSONObject update(JSONObject whereJson) {
|
||||||
@@ -520,7 +553,10 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
dto.setIvt_status(whereJson.getString("ivt_status"));
|
dto.setIvt_status(whereJson.getString("ivt_status"));
|
||||||
bstIvtPackageinfoivtMapper.updateById(getBasicInfo(dto, false));
|
dto.setUpdate_optid(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||||
|
dto.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||||
|
dto.setUpdate_time(DateUtil.now());
|
||||||
|
bstIvtPackageinfoivtMapper.updateById(dto);
|
||||||
result.put("status", org.springframework.http.HttpStatus.OK.value());
|
result.put("status", org.springframework.http.HttpStatus.OK.value());
|
||||||
result.put("message", "检验成功!");
|
result.put("message", "检验成功!");
|
||||||
return result;
|
return result;
|
||||||
@@ -545,16 +581,18 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
|||||||
* @param entity 对象实体
|
* @param entity 对象实体
|
||||||
* @param isCreate 是否创建
|
* @param isCreate 是否创建
|
||||||
*/
|
*/
|
||||||
private BstIvtPackageinfoivt getBasicInfo(BstIvtPackageinfoivt entity, boolean isCreate) {
|
private BstIvtPackageinfoivt getBasicInfo(BstIvtPackageinfoivt entity, BstIvtPackageinfoivt dto, boolean isCreate) {
|
||||||
if (isCreate) {
|
if (isCreate) {
|
||||||
entity.setCreate_id(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
entity.setCreate_id(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||||
entity.setCreate_name(SecurityUtils.getCurrentNickName());
|
entity.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||||
entity.setCreate_time(DateUtil.now());
|
entity.setCreate_time(DateUtil.now());
|
||||||
|
} else {
|
||||||
|
BeanUtils.copyProperties(entity, dto);
|
||||||
}
|
}
|
||||||
entity.setUpdate_optid(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
entity.setUpdate_optid(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||||
entity.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
entity.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||||
entity.setUpdate_time(DateUtil.now());
|
entity.setUpdate_time(DateUtil.now());
|
||||||
return entity;
|
return dto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -729,6 +729,7 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
if (ObjectUtil.isEmpty(plan.getLevel())) {
|
if (ObjectUtil.isEmpty(plan.getLevel())) {
|
||||||
throw new BadRequestException("子卷[" + plan.getContainer_name() + "]对应的级别不能为空");
|
throw new BadRequestException("子卷[" + plan.getContainer_name() + "]对应的级别不能为空");
|
||||||
}
|
}
|
||||||
|
plan.setLevel("4");
|
||||||
String point_type = "5".equals(plan.getLevel()) ? "5" : "4";
|
String point_type = "5".equals(plan.getLevel()) ? "5" : "4";
|
||||||
// 查找终点 确认是废箔还是成品: 根据分切计划的子卷等级来区分,5为报废
|
// 查找终点 确认是废箔还是成品: 根据分切计划的子卷等级来区分,5为报废
|
||||||
BstIvtShafttubeivt one = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
BstIvtShafttubeivt one = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
||||||
|
|||||||
@@ -2,12 +2,14 @@ package org.nl.b_lms.sch.tasks.slitter.util;
|
|||||||
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle;
|
import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle;
|
||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -243,4 +245,19 @@ public class SlitterTaskUtil {
|
|||||||
param.put("to_qty", String.join(",", qtysStr));
|
param.put("to_qty", String.join(",", qtysStr));
|
||||||
param.put("device_code", material_specs);
|
param.put("device_code", material_specs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 传入JSONArray返回筛选字符串
|
||||||
|
* @param array /
|
||||||
|
* @param name /
|
||||||
|
* @return /
|
||||||
|
*/
|
||||||
|
public static List<String> getAllStringByName(JSONArray array, String name) {
|
||||||
|
List<String> res = new ArrayList<>();
|
||||||
|
for (int i = 0; i < array.size(); i++) {
|
||||||
|
JSONObject jsonObject = array.getJSONObject(i);
|
||||||
|
res.add(jsonObject.getString(name));
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public enum PackageInfoIvtEnum {
|
|||||||
POINT_LOCATION(MapOf.of("上", "0", "下", "1")),
|
POINT_LOCATION(MapOf.of("上", "0", "下", "1")),
|
||||||
|
|
||||||
//库存状态
|
//库存状态
|
||||||
IVT_STATUS(MapOf.of("空", "0", "空载具", "1", "有子卷", "2", "合格品", "3", "管制品", "4"));
|
IVT_STATUS(MapOf.of("空", "0", "空载具", "1", "有子卷", "2", "合格品", "3", "管制品", "4"));
|
||||||
|
|
||||||
|
|
||||||
private Map<String, String> code;
|
private Map<String, String> code;
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ public class DeliveryPointIvtController {
|
|||||||
|
|
||||||
@PutMapping
|
@PutMapping
|
||||||
@Log("修改分切输送线")
|
@Log("修改分切输送线")
|
||||||
|
|
||||||
//@SaCheckPermission("@el.check('deliverypointivt:edit')")
|
//@SaCheckPermission("@el.check('deliverypointivt:edit')")
|
||||||
public ResponseEntity<Object> update(@Validated @RequestBody DeliveryPointIvtDto dto) {
|
public ResponseEntity<Object> update(@Validated @RequestBody DeliveryPointIvtDto dto) {
|
||||||
deliverypointivtService.update(dto);
|
deliverypointivtService.update(dto);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ package org.nl.wms.pdm.rest;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
||||||
import org.nl.modules.logging.annotation.Log;
|
import org.nl.modules.logging.annotation.Log;
|
||||||
import org.nl.wms.pdm.service.SlittingproductionplanService;
|
import org.nl.wms.pdm.service.SlittingproductionplanService;
|
||||||
import org.nl.wms.pdm.service.dto.SlittingproductionplanDto;
|
import org.nl.wms.pdm.service.dto.SlittingproductionplanDto;
|
||||||
@@ -28,6 +29,8 @@ public class SlittingproductionplanController {
|
|||||||
|
|
||||||
private final SlittingproductionplanService slittingproductionplanService;
|
private final SlittingproductionplanService slittingproductionplanService;
|
||||||
|
|
||||||
|
private final IPdmBiSlittingproductionplanService biSlittingproductionplanService;
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
@Log("查询分切计划")
|
@Log("查询分切计划")
|
||||||
|
|
||||||
@@ -102,4 +105,10 @@ public class SlittingproductionplanController {
|
|||||||
slittingproductionplanService.compelFinish(whereJson);
|
slittingproductionplanService.compelFinish(whereJson);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@Log("修改子卷放置方向")
|
||||||
|
@PostMapping("/setDirection")
|
||||||
|
public ResponseEntity<Object> setDirection(@RequestBody JSONObject whereJson) {
|
||||||
|
biSlittingproductionplanService.setDirection(whereJson);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
248
lms/nladmin-ui/src/views/wms/pdm/ivt/packageinfoivt/index.vue
Normal file
248
lms/nladmin-ui/src/views/wms/pdm/ivt/packageinfoivt/index.vue
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!--工具栏-->
|
||||||
|
<div class="head-container">
|
||||||
|
<div v-if="crud.props.searchToggle">
|
||||||
|
<!-- 搜索 -->
|
||||||
|
<el-form
|
||||||
|
:inline="true"
|
||||||
|
class="demo-form-inline"
|
||||||
|
label-position="right"
|
||||||
|
label-width="90px"
|
||||||
|
label-suffix=":"
|
||||||
|
>
|
||||||
|
<el-form-item label="点位编码">
|
||||||
|
<el-input
|
||||||
|
v-model="query.point_code"
|
||||||
|
clearable
|
||||||
|
placeholder="输入点位编码"
|
||||||
|
style="width: 185px;"
|
||||||
|
class="filter-item"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="点位区域">
|
||||||
|
<el-select
|
||||||
|
v-model="query.packageinfo_area"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
size="mini"
|
||||||
|
class="filter-item"
|
||||||
|
style="width: 185px;"
|
||||||
|
@change="hand"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in dict.packageinfo_area"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="点位状态">
|
||||||
|
<el-select
|
||||||
|
v-model="query.ivt_status"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
size="mini"
|
||||||
|
class="filter-item"
|
||||||
|
style="width: 185px;"
|
||||||
|
@change="hand"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in dict.sch_packageinfo_status"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="是否启用">
|
||||||
|
<el-switch
|
||||||
|
v-model="query.is_used"
|
||||||
|
active-value="0"
|
||||||
|
inactive-value="1"
|
||||||
|
active-color="#C0CCDA"
|
||||||
|
inactive-color="#409EFF"
|
||||||
|
@change="hand"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<rrOperation :crud="crud" />
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||||
|
<crudOperation :permission="permission" />
|
||||||
|
<!--表单组件-->
|
||||||
|
<el-dialog
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:before-close="crud.cancelCU"
|
||||||
|
:visible.sync="crud.status.cu > 0"
|
||||||
|
:title="crud.status.title"
|
||||||
|
width="500px"
|
||||||
|
>
|
||||||
|
<br>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
|
||||||
|
<el-form-item label="点位编码" prop="point_code">
|
||||||
|
<el-input v-model="form.point_code" style="width: 370px;" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="点位名称" prop="point_name">
|
||||||
|
<el-input v-model="form.point_name" style="width: 370px;" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="子卷编号">
|
||||||
|
<el-input v-model="form.container_name" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="点位状态">
|
||||||
|
<el-select
|
||||||
|
v-model="form.point_status"
|
||||||
|
size="mini"
|
||||||
|
placeholder="点位状态"
|
||||||
|
class="filter-item"
|
||||||
|
style="width: 370px;"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in dict.sch_packageinfo_status"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="顺序号" prop="sort_seq">
|
||||||
|
<el-input v-model="form.sort_seq" style="width: 370px;" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="是否启用" prop="is_used">
|
||||||
|
<el-switch v-model="form.is_used" active-value="1" inactive-value="0" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注">
|
||||||
|
<el-input v-model="form.remark" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
|
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<!--表格渲染-->
|
||||||
|
<el-table
|
||||||
|
ref="table"
|
||||||
|
v-loading="crud.loading"
|
||||||
|
:data="crud.data"
|
||||||
|
size="mini"
|
||||||
|
style="width: 100%;"
|
||||||
|
@selection-change="crud.selectionChangeHandler"
|
||||||
|
>
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
|
<el-table-column prop="point_status" label="区域类型">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ dict.label.packageinfo_area[scope.row.point_status] }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="point_code" label="点位编码" width="100px" />
|
||||||
|
<el-table-column prop="point_name" label="点位名称" width="140px" />
|
||||||
|
<el-table-column prop="ivt_status" label="库存状态">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ dict.label.sch_packageinfo_status[scope.row.ivt_status] }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="container_name" label="子卷编号" width="140px" />
|
||||||
|
<el-table-column prop="row_num" label="排" width="100px" />
|
||||||
|
<el-table-column prop="col_num" label="列" width="100px" />
|
||||||
|
<el-table-column prop="depth" label="深浅位" width="100px" />
|
||||||
|
<el-table-column prop="wait_point_type" label="等待点" width="100px" />
|
||||||
|
<el-table-column prop="is_used" label="是否启用">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ dict.label.is_used[scope.row.is_used] }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column prop="remark" label="备注" />
|
||||||
|
<el-table-column prop="update_time" label="修改时间" min-width="150" show-overflow-tooltip />
|
||||||
|
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<udOperation
|
||||||
|
:data="scope.row"
|
||||||
|
:permission="permission"
|
||||||
|
:is-visiable-del="false"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import crudDeliverypointivt from './packageinfoivt'
|
||||||
|
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||||
|
import rrOperation from '@crud/RR.operation'
|
||||||
|
import crudOperation from '@crud/CRUD.operation'
|
||||||
|
import udOperation from '@crud/UD.operation'
|
||||||
|
import pagination from '@crud/Pagination'
|
||||||
|
|
||||||
|
const defaultForm = {
|
||||||
|
ivt_id: null,
|
||||||
|
point_code: null,
|
||||||
|
product_area: null,
|
||||||
|
qzzno: null,
|
||||||
|
vehicle_code: null,
|
||||||
|
point_status: null,
|
||||||
|
packageinfo_area: null,
|
||||||
|
sch_packageinfo_status: null,
|
||||||
|
sort_seq: null,
|
||||||
|
is_used: null,
|
||||||
|
remark: null,
|
||||||
|
create_id: null,
|
||||||
|
create_name: null,
|
||||||
|
create_time: null,
|
||||||
|
update_optid: null,
|
||||||
|
update_optname: null,
|
||||||
|
update_time: null
|
||||||
|
}
|
||||||
|
export default {
|
||||||
|
name: 'Packageinfoivt',
|
||||||
|
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||||
|
dicts: ['sch_packageinfo_status', 'packageinfo_area', 'is_used'],
|
||||||
|
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||||
|
cruds() {
|
||||||
|
return CRUD({
|
||||||
|
title: '装箱区域',
|
||||||
|
url: 'api/bstIvtPackageInfoIvt',
|
||||||
|
idField: 'ivt_id',
|
||||||
|
sort: 'ivt_id,desc',
|
||||||
|
crudMethod: { ...crudDeliverypointivt },
|
||||||
|
optShow: {
|
||||||
|
add: false,
|
||||||
|
edit: false,
|
||||||
|
del: false,
|
||||||
|
download: false,
|
||||||
|
reset: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
permission: {},
|
||||||
|
rules: {
|
||||||
|
point_code: [
|
||||||
|
{ required: true, message: '点位编码不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
is_used: [
|
||||||
|
{ required: true, message: '是否启用不能为空', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||||
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
hand(value) {
|
||||||
|
this.crud.toQuery()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function add(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/bstIvtPackageInfoIvt',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function del(ids) {
|
||||||
|
return request({
|
||||||
|
url: 'api/bstIvtPackageInfoIvt',
|
||||||
|
method: 'delete',
|
||||||
|
data: ids
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function edit(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/bstIvtPackageInfoIvt',
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { add, edit, del }
|
||||||
@@ -111,9 +111,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row />
|
||||||
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="母卷上料">
|
<el-form-item label="母卷上料">
|
||||||
@@ -217,7 +215,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<rrOperation/>
|
<rrOperation />
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -279,6 +277,50 @@
|
|||||||
>
|
>
|
||||||
强制完成
|
强制完成
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="right"
|
||||||
|
class="filter-item"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-top"
|
||||||
|
size="mini"
|
||||||
|
:disabled="crud.selections.length < 1"
|
||||||
|
@click="setUpOrDown('1')"
|
||||||
|
>
|
||||||
|
设置上轴
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="right"
|
||||||
|
class="filter-item"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-bottom"
|
||||||
|
size="mini"
|
||||||
|
:disabled="crud.selections.length < 1"
|
||||||
|
@click="setUpOrDown('2')"
|
||||||
|
>
|
||||||
|
设置下轴
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="right"
|
||||||
|
class="filter-item"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-back"
|
||||||
|
size="mini"
|
||||||
|
:disabled="crud.selections.length < 1"
|
||||||
|
@click="setLeftOrRight('1')"
|
||||||
|
>
|
||||||
|
设置左卷
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="right"
|
||||||
|
class="filter-item"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-right"
|
||||||
|
size="mini"
|
||||||
|
:disabled="crud.selections.length < 1"
|
||||||
|
@click="setLeftOrRight('2')"
|
||||||
|
>
|
||||||
|
设置右卷
|
||||||
|
</el-button>
|
||||||
</crudOperation>
|
</crudOperation>
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="1200px">
|
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="1200px">
|
||||||
@@ -286,144 +328,144 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="订单类型" prop="order_type">
|
<el-form-item label="订单类型" prop="order_type">
|
||||||
<el-input v-model="form.order_type" style="width: 370px;"/>
|
<el-input v-model="form.order_type" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="子卷号" prop="container_name">
|
<el-form-item label="子卷号" prop="container_name">
|
||||||
<el-input v-model="form.container_name" style="width: 370px;"/>
|
<el-input v-model="form.container_name" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="产品编码" prop="product_name">
|
<el-form-item label="产品编码" prop="product_name">
|
||||||
<el-input v-model="form.product_name" style="width: 370px;"/>
|
<el-input v-model="form.product_name" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="产品描述" prop="description">
|
<el-form-item label="产品描述" prop="description">
|
||||||
<el-input v-model="form.description" style="width: 370px;"/>
|
<el-input v-model="form.description" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="来源母卷号" prop="parent_container_name">
|
<el-form-item label="来源母卷号" prop="parent_container_name">
|
||||||
<el-input v-model="form.parent_container_name" style="width: 370px;"/>
|
<el-input v-model="form.parent_container_name" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="改制来源子卷号" prop="restruct_container_name">
|
<el-form-item label="改制来源子卷号" prop="restruct_container_name">
|
||||||
<el-input v-model="form.restruct_container_name" style="width: 370px;"/>
|
<el-input v-model="form.restruct_container_name" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="子卷立库木箱号" prop="package_box_sn">
|
<el-form-item label="子卷立库木箱号" prop="package_box_sn">
|
||||||
<el-input v-model="form.package_box_sn" style="width: 370px;"/>
|
<el-input v-model="form.package_box_sn" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="来源卷位置" prop="ware_house">
|
<el-form-item label="来源卷位置" prop="ware_house">
|
||||||
<el-input v-model="form.ware_house" style="width: 370px;"/>
|
<el-input v-model="form.ware_house" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="分切机台编码" prop="resource_name">
|
<el-form-item label="分切机台编码" prop="resource_name">
|
||||||
<el-input v-model="form.resource_name" style="width: 370px;"/>
|
<el-input v-model="form.resource_name" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="分切组" prop="split_group">
|
<el-form-item label="分切组" prop="split_group">
|
||||||
<el-input v-model="form.split_group" style="width: 370px;"/>
|
<el-input v-model="form.split_group" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="生产顺序" prop="manufacture_sort">
|
<el-form-item label="生产顺序" prop="manufacture_sort">
|
||||||
<el-input v-model="form.manufacture_sort" style="width: 370px;"/>
|
<el-input v-model="form.manufacture_sort" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="生产订单" prop="mfg_order_name">
|
<el-form-item label="生产订单" prop="mfg_order_name">
|
||||||
<el-input v-model="form.mfg_order_name" style="width: 370px;"/>
|
<el-input v-model="form.mfg_order_name" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="生产日期" prop="manufacture_date">
|
<el-form-item label="生产日期" prop="manufacture_date">
|
||||||
<el-input v-model="form.manufacture_date" style="width: 370px;"/>
|
<el-input v-model="form.manufacture_date" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="管件类型" prop="paper_tube_or_FRP">
|
<el-form-item label="管件类型" prop="paper_tube_or_FRP">
|
||||||
<el-input v-model="form.paper_tube_or_FRP" style="width: 370px;"/>
|
<el-input v-model="form.paper_tube_or_FRP" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="纸筒物料编码" prop="paper_tube_material">
|
<el-form-item label="纸筒物料编码" prop="paper_tube_material">
|
||||||
<el-input v-model="form.paper_tube_material" style="width: 370px;"/>
|
<el-input v-model="form.paper_tube_material" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="纸筒物料描述" prop="paper_tube_description">
|
<el-form-item label="纸筒物料描述" prop="paper_tube_description">
|
||||||
<el-input v-model="form.paper_tube_description" style="width: 370px;"/>
|
<el-input v-model="form.paper_tube_description" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="纸筒规格" prop="paper_tube_model">
|
<el-form-item label="纸筒规格" prop="paper_tube_model">
|
||||||
<el-input v-model="form.paper_tube_model" style="width: 370px;"/>
|
<el-input v-model="form.paper_tube_model" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="FRP管物料编码" prop="FRP_material">
|
<el-form-item label="FRP管物料编码" prop="FRP_material">
|
||||||
<el-input v-model="form.FRP_material" style="width: 370px;"/>
|
<el-input v-model="form.FRP_material" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="FRP管物料描述" prop="FRP_description">
|
<el-form-item label="FRP管物料描述" prop="FRP_description">
|
||||||
<el-input v-model="form.FRP_description" style="width: 370px;"/>
|
<el-input v-model="form.FRP_description" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="FRP管规格" prop="FRP_model">
|
<el-form-item label="FRP管规格" prop="FRP_model">
|
||||||
<el-input v-model="form.FRP_model" style="width: 370px;"/>
|
<el-input v-model="form.FRP_model" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="子卷幅宽" prop="split_breadth">
|
<el-form-item label="子卷幅宽" prop="split_breadth">
|
||||||
<el-input v-model="form.split_breadth" style="width: 370px;"/>
|
<el-input v-model="form.split_breadth" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="子卷理论长度" prop="split_height">
|
<el-form-item label="子卷理论长度" prop="split_height">
|
||||||
<el-input v-model="form.split_height" style="width: 370px;"/>
|
<el-input v-model="form.split_height" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="子卷理论重量" prop="split_weight">
|
<el-form-item label="子卷理论重量" prop="split_weight">
|
||||||
<el-input v-model="form.split_weight" style="width: 370px;"/>
|
<el-input v-model="form.split_weight" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="销售订单及行号" prop="sale_order_name">
|
<el-form-item label="销售订单及行号" prop="sale_order_name">
|
||||||
<el-input v-model="form.sale_order_name" style="width: 370px;"/>
|
<el-input v-model="form.sale_order_name" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -434,42 +476,58 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;"
|
<el-table
|
||||||
@selection-change="crud.selectionChangeHandler">
|
ref="table"
|
||||||
<el-table-column type="selection" width="55"/>
|
v-loading="crud.loading"
|
||||||
<el-table-column v-if="false" prop="workorder_id" label="分切计划标识"/>
|
:data="crud.data"
|
||||||
<el-table-column prop="status" label="状态" :formatter="formatStatusName"/>
|
size="mini"
|
||||||
<el-table-column prop="order_type" label="订单类型" :formatter="formatTypeName"/>
|
style="width: 100%;"
|
||||||
<el-table-column prop="mfg_order_name" label="订单号" min-width="140" show-overflow-tooltip/>
|
@selection-change="crud.selectionChangeHandler"
|
||||||
<el-table-column prop="container_name" label="子卷号" min-width="140" show-overflow-tooltip/>
|
>
|
||||||
<el-table-column prop="parent_container_name" label="母卷号" min-width="120" show-overflow-tooltip/>
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column prop="ware_house" label="来源位置" :formatter="formatHouseName" width="120px"/>
|
<el-table-column v-if="false" prop="workorder_id" label="分切计划标识" />
|
||||||
<el-table-column prop="restruct_container_name" label="改制来源子卷号" width="120px"/>
|
<el-table-column prop="status" label="状态" :formatter="formatStatusName" />
|
||||||
<el-table-column prop="package_box_sn" label="改制来源子卷木箱号" width="150px"/>
|
<el-table-column prop="order_type" label="订单类型" :formatter="formatTypeName" />
|
||||||
<el-table-column prop="resource_name" label="机台编码" min-width="110" show-overflow-tooltip/>
|
<el-table-column prop="mfg_order_name" label="订单号" min-width="140" show-overflow-tooltip />
|
||||||
<el-table-column prop="point_code" label="点位" min-width="110" show-overflow-tooltip/>
|
<el-table-column prop="container_name" label="子卷号" min-width="140" show-overflow-tooltip />
|
||||||
<el-table-column prop="product_name" label="产品编码" min-width="130" show-overflow-tooltip/>
|
<el-table-column prop="parent_container_name" label="母卷号" min-width="120" show-overflow-tooltip />
|
||||||
<el-table-column prop="product_area" label="生产区域"/>
|
<el-table-column prop="ware_house" label="来源位置" :formatter="formatHouseName" width="120px" />
|
||||||
<el-table-column prop="split_group" label="分切组"/>
|
<el-table-column prop="restruct_container_name" label="改制来源子卷号" width="120px" />
|
||||||
<el-table-column prop="manufacture_sort" label="生产顺序"/>
|
<el-table-column prop="package_box_sn" label="改制来源子卷木箱号" width="150px" />
|
||||||
<el-table-column prop="manufacture_date" label="生产日期" width="120px"/>
|
<el-table-column prop="resource_name" label="机台编码" min-width="110" show-overflow-tooltip />
|
||||||
<el-table-column prop="split_breadth" label="子卷幅宽" :formatter="crud.formatNum3"/>
|
<el-table-column prop="point_code" label="点位" min-width="110" show-overflow-tooltip />
|
||||||
<el-table-column prop="split_height" label="子卷理论长度" width="100px" :formatter="crud.formatNum3"/>
|
<el-table-column prop="product_name" label="产品编码" min-width="130" show-overflow-tooltip />
|
||||||
<el-table-column prop="split_weight" label="子卷理论重量" width="100px" :formatter="crud.formatNum3"/>
|
<el-table-column prop="product_area" label="生产区域" />
|
||||||
<el-table-column prop="paper_tube_or_frp" label="管件类型" :formatter="formatTubeName"/>
|
<el-table-column prop="split_group" label="分切组" />
|
||||||
<el-table-column prop="paper_tube_material" label="纸筒物料编码" min-width="140" show-overflow-tooltip/>
|
<el-table-column prop="manufacture_sort" label="生产顺序" />
|
||||||
<el-table-column prop="paper_tube_description" label="纸筒物料描述" width="120px" show-overflow-tooltip/>
|
<el-table-column prop="manufacture_date" label="生产日期" width="120px" />
|
||||||
<el-table-column prop="paper_tube_model" label="纸筒规格" min-width="140" show-overflow-tooltip/>
|
<el-table-column prop="split_breadth" label="子卷幅宽" :formatter="crud.formatNum3" />
|
||||||
<el-table-column prop="frp_material" label="FRP管物料编码" min-width="140" show-overflow-tooltip/>
|
<el-table-column prop="split_height" label="子卷理论长度" width="100px" :formatter="crud.formatNum3" />
|
||||||
<el-table-column prop="frp_description" label="FRP管物料描述" min-width="140" show-overflow-tooltip/>
|
<el-table-column prop="split_weight" label="子卷理论重量" width="100px" :formatter="crud.formatNum3" />
|
||||||
<el-table-column prop="frp_model" label="FRP管规格" min-width="140" show-overflow-tooltip/>
|
<el-table-column prop="paper_tube_or_frp" label="管件类型" :formatter="formatTubeName" />
|
||||||
<el-table-column prop="is_parent_ok" label="母卷上料完成" width="100px" :formatter="formatParentName"/>
|
<el-table-column prop="paper_tube_material" label="纸筒物料编码" min-width="140" show-overflow-tooltip />
|
||||||
<el-table-column prop="is_child_tz_ok" label="子卷套轴完成" width="100px" :formatter="formatChildName"/>
|
<el-table-column prop="paper_tube_description" label="纸筒物料描述" width="120px" show-overflow-tooltip />
|
||||||
<el-table-column prop="is_child_ps_ok" label="子卷配送完成" width="100px" :formatter="formatChildPsName"/>
|
<el-table-column prop="paper_tube_model" label="纸筒规格" min-width="140" show-overflow-tooltip />
|
||||||
<el-table-column prop="is_call" label="是否呼叫" width="100px" :formatter="formatChildCallName"/>
|
<el-table-column prop="frp_material" label="FRP管物料编码" min-width="140" show-overflow-tooltip />
|
||||||
<el-table-column prop="qzzno" label="气涨轴编码" width="160px"/>
|
<el-table-column prop="frp_description" label="FRP管物料描述" min-width="140" show-overflow-tooltip />
|
||||||
<el-table-column prop="start_time" label="开始时间" width="150px"/>
|
<el-table-column prop="frp_model" label="FRP管规格" min-width="140" show-overflow-tooltip />
|
||||||
<el-table-column prop="end_time" label="结束时间" width="150px"/>
|
<el-table-column prop="is_parent_ok" label="母卷上料完成" width="100px" :formatter="formatParentName" />
|
||||||
|
<el-table-column prop="is_child_tz_ok" label="子卷套轴完成" width="100px" :formatter="formatChildName" />
|
||||||
|
<el-table-column prop="is_child_ps_ok" label="子卷配送完成" width="100px" :formatter="formatChildPsName" />
|
||||||
|
<el-table-column prop="is_call" label="是否呼叫" width="100px" :formatter="formatChildCallName" />
|
||||||
|
<el-table-column prop="up_or_down" label="上轴下轴" width="100px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.up_or_down === '' ? '-' : scope.row.up_or_down === '1' ? '上轴' : '下轴' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="left_or_right" label="左卷右卷" width="100px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.left_or_right === '' ? '-' :scope.row.left_or_right === '1' ? '左卷' : '右卷' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="qzzno" label="气涨轴编码" width="160px" />
|
||||||
|
<el-table-column prop="start_time" label="开始时间" width="150px" />
|
||||||
|
<el-table-column prop="end_time" label="结束时间" width="150px" />
|
||||||
<!-- <el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
<!-- <el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<udOperation
|
<udOperation
|
||||||
@@ -480,7 +538,7 @@
|
|||||||
</el-table-column>-->
|
</el-table-column>-->
|
||||||
</el-table>
|
</el-table>
|
||||||
<!--分页组件-->
|
<!--分页组件-->
|
||||||
<pagination/>
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -674,6 +732,28 @@ export default {
|
|||||||
},
|
},
|
||||||
formatChildCallName(row) {
|
formatChildCallName(row) {
|
||||||
return this.dict.label.IS_OR_NOT[row.is_call]
|
return this.dict.label.IS_OR_NOT[row.is_call]
|
||||||
|
},
|
||||||
|
setUpOrDown(flag) {
|
||||||
|
const _selectData = this.$refs.table.selection
|
||||||
|
const param = {
|
||||||
|
'data': _selectData,
|
||||||
|
'up_or_down': flag
|
||||||
|
}
|
||||||
|
crudSlittingproductionplan.setDirection(param).then(() => {
|
||||||
|
this.crud.toQuery()
|
||||||
|
this.crud.notify('设置成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
setLeftOrRight(flag) {
|
||||||
|
const _selectData = this.$refs.table.selection
|
||||||
|
const param = {
|
||||||
|
'data': _selectData,
|
||||||
|
'left_or_right': flag
|
||||||
|
}
|
||||||
|
crudSlittingproductionplan.setDirection(param).then(() => {
|
||||||
|
this.crud.toQuery()
|
||||||
|
this.crud.notify('设置成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,4 +64,12 @@ export function compelFinish(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { add, edit, del, upMaterFinish, caseFinish, sendFinish, inFinish, compelFinish }
|
export function setDirection(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/slittingproductionplan/setDirection',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { add, edit, del, upMaterFinish, caseFinish, sendFinish, inFinish, compelFinish, setDirection }
|
||||||
|
|||||||
@@ -380,6 +380,9 @@ export default {
|
|||||||
if (this.currentSelection.length > 0 && this.$refs.dis_table.selection.length > 0) {
|
if (this.currentSelection.length > 0 && this.$refs.dis_table.selection.length > 0) {
|
||||||
debugger
|
debugger
|
||||||
const descriptionList = this.currentSelection.filter(item => item.paper_tube_description !== null && item.paper_tube_description !== '')
|
const descriptionList = this.currentSelection.filter(item => item.paper_tube_description !== null && item.paper_tube_description !== '')
|
||||||
|
if (descriptionList.length === 0) {
|
||||||
|
this.crud.notify('未查询到该子卷的规格信息,请检查子卷的分切计划信息!', CRUD.NOTIFICATION_TYPE.WARNING)
|
||||||
|
}
|
||||||
const paper_tube_description = descriptionList[0].paper_tube_description
|
const paper_tube_description = descriptionList[0].paper_tube_description
|
||||||
const descriptionsAreSame = this.currentSelection.every(item => item.paper_tube_description === paper_tube_description)
|
const descriptionsAreSame = this.currentSelection.every(item => item.paper_tube_description === paper_tube_description)
|
||||||
if (descriptionsAreSame) {
|
if (descriptionsAreSame) {
|
||||||
|
|||||||
Reference in New Issue
Block a user