Merge branch 'master' of http://121.40.234.130:8899/root/hl_one
This commit is contained in:
@@ -2,20 +2,27 @@
|
||||
package org.nl.wms.masterdata_manage.master.controller.measureunit;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.nl.common.anno.Log;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.wms.masterdata_manage.备份master.service.UnitService;
|
||||
import org.nl.wms.masterdata_manage.备份master.service.dto.UnitDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.masterdata_manage.service.master.IMdPbMeasureunitService;
|
||||
import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit;
|
||||
import org.nl.wms.masterdata_manage.service.master.dto.UnitQuery;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckmstBcp;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author loujf
|
||||
@@ -27,48 +34,40 @@ import java.util.Map;
|
||||
@RequestMapping("/api/mdPbMeasureunit")
|
||||
@Slf4j
|
||||
public class MdPbMeasureunitController {
|
||||
private final UnitService unitService;
|
||||
|
||||
@Autowired
|
||||
private IMdPbMeasureunitService measureunitService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询计量单位")
|
||||
@Log("查询单位")
|
||||
@ApiOperation("查询计量单位")
|
||||
//@PreAuthorize("@el.check('Unit:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){
|
||||
return new ResponseEntity<>(unitService.queryAll(whereJson,page),HttpStatus.OK);
|
||||
public ResponseEntity<Object> query(UnitQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(measureunitService.pageQuery(query, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@PostMapping("/add")
|
||||
@Log("新增计量单位")
|
||||
@ApiOperation("新增计量单位")
|
||||
//@PreAuthorize("@el.check('Unit:add')")
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody UnitDto dto){
|
||||
unitService.create(dto);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("修改计量单位")
|
||||
@ApiOperation("修改计量单位")
|
||||
//@PreAuthorize("@el.check('Unit:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody UnitDto dto){
|
||||
unitService.update(dto);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除计量单位")
|
||||
@ApiOperation("删除计量单位")
|
||||
//@PreAuthorize("@el.check('Unit:del')")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
|
||||
unitService.deleteAll(ids);
|
||||
public ResponseEntity<Object> create(@RequestBody JSONObject whereJson) {
|
||||
measureunitService.create(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/getUnit")
|
||||
@Log("查询单位下拉框")
|
||||
@ApiOperation("查询仓库下拉框")
|
||||
//@PreAuthorize("@el.check('materialtype:list')")
|
||||
public ResponseEntity<Object> queryUnit(@RequestParam Map whereJson) {
|
||||
return new ResponseEntity<>(unitService.getUnit(whereJson), HttpStatus.OK);
|
||||
@PostMapping("/update")
|
||||
@Log("修改计量单位")
|
||||
@ApiOperation("修改计量单位")
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject whereJson) {
|
||||
measureunitService.update(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
@Log("删除计量单位")
|
||||
@ApiOperation("删除计量单位")
|
||||
public ResponseEntity<Object> delete(@RequestBody Long[] ids){
|
||||
for (Long id : ids) {
|
||||
measureunitService.removeById(id);
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package org.nl.wms.masterdata_manage.service.master;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit;
|
||||
import org.nl.wms.masterdata_manage.service.master.dto.UnitQuery;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +16,16 @@ import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit;
|
||||
*/
|
||||
public interface IMdPbMeasureunitService extends IService<MdPbMeasureunit> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param query,page /
|
||||
* @return JSONObject
|
||||
*/
|
||||
Object pageQuery(UnitQuery query, PageQuery page);
|
||||
|
||||
void create(JSONObject jo);
|
||||
|
||||
void update(JSONObject jo);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -7,8 +7,6 @@ import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -64,7 +62,7 @@ public class MdPbMeasureunit implements Serializable {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date create_time;
|
||||
private String create_time;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
@@ -79,7 +77,7 @@ public class MdPbMeasureunit implements Serializable {
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date update_time;
|
||||
private String update_time;
|
||||
|
||||
/**
|
||||
* 外部标识
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.nl.wms.masterdata_manage.service.master.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.common.domain.query.QParam;
|
||||
import org.nl.common.enums.QueryTEnum;
|
||||
import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2023/5/4 19:49
|
||||
*/
|
||||
@Data
|
||||
public class UnitQuery extends BaseQuery<MdPbMeasureunit> {
|
||||
|
||||
private String search;
|
||||
@Override
|
||||
public void paramMapping() {
|
||||
super.doP.put("search", QParam.builder().k(new String[]{"unit_name"}).type(QueryTEnum.LK).build());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +1,25 @@
|
||||
package org.nl.wms.masterdata_manage.service.master.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import io.jsonwebtoken.lang.Assert;
|
||||
import org.apache.catalina.security.SecurityUtil;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.masterdata_manage.service.master.IMdPbMeasureunitService;
|
||||
import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit;
|
||||
import org.nl.wms.masterdata_manage.service.master.dao.mapper.MdPbMeasureunitMapper;
|
||||
import org.nl.wms.masterdata_manage.service.master.dto.UnitQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckmstBcp;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 计量单位表 服务实现类
|
||||
@@ -17,4 +31,39 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class MdPbMeasureunitServiceImpl extends ServiceImpl<MdPbMeasureunitMapper, MdPbMeasureunit> implements IMdPbMeasureunitService {
|
||||
|
||||
@Override
|
||||
public Object pageQuery(UnitQuery query, PageQuery page) {
|
||||
Page<MdPbMeasureunit> pageQuery = this.page(page.build(), query.build());
|
||||
return TableDataInfo.build(pageQuery);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create(JSONObject jo) {
|
||||
String unit_code = jo.getString("unit_code");
|
||||
String unit_name = jo.getString("unit_name");
|
||||
String ext_id = jo.getString("ext_id");
|
||||
BigDecimal qty_precision = jo.getBigDecimal("qty_precision");
|
||||
boolean is_used = jo.getBoolean("is_used");
|
||||
MdPbMeasureunit unit = new MdPbMeasureunit();
|
||||
unit.setMeasure_unit_id(IdUtil.getStringId());
|
||||
unit.setUnit_code(unit_code);
|
||||
unit.setUnit_name(unit_name);
|
||||
unit.setQty_precision(qty_precision);
|
||||
unit.setExt_id(ext_id);
|
||||
unit.setIs_used(is_used);
|
||||
unit.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
unit.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
unit.setCreate_time(DateUtil.now());
|
||||
this.save(unit);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(JSONObject jo) {
|
||||
Assert.notNull(new Object[]{jo, jo.get("measure_unit_id")}, "请求参数不能为空");
|
||||
MdPbMeasureunit mst = jo.toJavaObject(MdPbMeasureunit.class);
|
||||
mst.setUpdate_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setUpdate_name(SecurityUtils.getCurrentNickName());
|
||||
mst.setUpdate_time(DateUtil.now());
|
||||
this.updateById(mst);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
||||
*/
|
||||
List<Map> selectPoint(Map<String,Object> map);
|
||||
|
||||
List<Map> canUsePoint(Map<String,Object> map);
|
||||
|
||||
Map getDeviceWorkprodure(String pointCode);
|
||||
|
||||
Map getWorkprodure(@Param("workprodureId") String workprodureId, @Param("workprodureCode") String workprodureCode);
|
||||
|
||||
@@ -89,6 +89,33 @@
|
||||
AND ruledis.load_series >= #{loadSeries}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="canUsePoint" resultType="java.util.Map">
|
||||
SELECT
|
||||
point.point_code,
|
||||
point.point_type
|
||||
FROM
|
||||
sch_base_point point
|
||||
WHERE
|
||||
(point.vehicle_code = '' OR point.vehicle_code IS NULL)
|
||||
AND not exists(
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
sch_base_task
|
||||
WHERE
|
||||
( point_code1 = point.point_code OR point_code2 = point.point_code )
|
||||
AND '07' > task_status
|
||||
AND is_delete = '0'
|
||||
)
|
||||
<if test="region_code != null and region_code != ''">
|
||||
AND point.region_code = #{region_code}
|
||||
</if>
|
||||
<if test="search != null and search != ''">
|
||||
AND (point.point_code like '%${search}%' or point.point_name like '%${search}%')
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getDeviceWorkprodure" resultType="java.util.Map">
|
||||
select
|
||||
r.workprocedure_code,r.workprocedure_id,dev.device_code,dev.spec from pdm_bi_device dev
|
||||
|
||||
@@ -26,30 +26,27 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattr
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||
import org.nl.wms.scheduler_manage.service.point.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.wms.storage_manage.CHECKEnum;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckdtlYl;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.mapper.StIvtCheckdtlBcpMapper;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dto.CheckQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.MLEnum;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.IStIvtCheckdtlBcpService;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.IStIvtCheckmstBcpService;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckmstBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.mapper.StIvtCheckdtlBcpMapper;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dao.mapper.StIvtCheckmstBcpMapper;
|
||||
import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.StIvtIostorinvBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.check.dto.CheckQuery;
|
||||
import org.nl.wms.storage_manage.semimanage.service.moveOrLess.IStIvtMoreorlessmstBcpService;
|
||||
import org.nl.wms.storage_manage.semimanage.service.shutFrame.dao.StIvtShutframedtlBcp;
|
||||
import org.nl.wms.storage_manage.semimanage.service.shutFrame.dao.StIvtShutframeinvBcp;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -74,6 +71,10 @@ public class StIvtCheckmstBcpServiceImpl extends ServiceImpl<StIvtCheckmstBcpMap
|
||||
private IStIvtMoreorlessmstBcpService moreorlessmstBcpService;
|
||||
@Autowired
|
||||
private StIvtCheckdtlBcpMapper checkdtlBcpMapper;
|
||||
@Autowired
|
||||
private SchBasePointMapper pointMapper;
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
|
||||
@Override
|
||||
public Object pageQuery(CheckQuery query, PageQuery page) {
|
||||
@@ -278,8 +279,9 @@ public class StIvtCheckmstBcpServiceImpl extends ServiceImpl<StIvtCheckmstBcpMap
|
||||
throw new BadRequestException("当前仓位的盘点移出任务已经下发!");
|
||||
}
|
||||
|
||||
//查询可用的半成品移出点位
|
||||
String point_code = "PD01";
|
||||
Map map = new HashMap<>();
|
||||
map.put("region_code", "A1_BCP_PD");
|
||||
List<Map> maps = pointMapper.canUsePoint(map);
|
||||
|
||||
StIvtCheckmstBcp mst = this.getById(dtl.getCheck_id());
|
||||
|
||||
@@ -288,7 +290,7 @@ public class StIvtCheckmstBcpServiceImpl extends ServiceImpl<StIvtCheckmstBcpMap
|
||||
PointEvent event = PointEvent.builder()
|
||||
.type(AcsTaskEnum.TASK_STRUCT_SHUT.getCode())
|
||||
.point_code1(struct.getStruct_code())
|
||||
.point_code2(point_code)
|
||||
.point_code2((String) maps.get(0).get("point_code"))
|
||||
.vehicle_code(dtl.getStoragevehicle_code())
|
||||
.product_area(mst.getWorkshop_id())
|
||||
.build();
|
||||
@@ -297,7 +299,7 @@ public class StIvtCheckmstBcpServiceImpl extends ServiceImpl<StIvtCheckmstBcpMap
|
||||
|
||||
checkdtlBcpService.update(new UpdateWrapper<StIvtCheckdtlBcp>()
|
||||
.set("is_down", "1")
|
||||
.set("checkpoint_id", point_code)
|
||||
.set("checkpoint_id", (String) maps.get(0).get("point_code"))
|
||||
.set("status", CHECKEnum.DTL_STATUS.code("盘点中"))
|
||||
.eq("struct_id", dtl.getStruct_id())
|
||||
.eq("check_id", dtl.getCheck_id()));
|
||||
@@ -312,28 +314,39 @@ public class StIvtCheckmstBcpServiceImpl extends ServiceImpl<StIvtCheckmstBcpMap
|
||||
String status = form.getString("status");
|
||||
List<StIvtCheckdtlBcp> dtl_list = checkdtlBcpMapper.queryCheckDtlByTask(MapOf.of("task_id", task_id));
|
||||
StIvtCheckdtlBcp dtl = dtl_list.get(0);
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode()) && dtl.getIs_down().equals("2")) {
|
||||
checkdtlBcpService.update(new UpdateWrapper<StIvtCheckdtlBcp>()
|
||||
.set("status", CHECKEnum.DTL_STATUS.code("完成"))
|
||||
.eq("struct_id", dtl.getStruct_id())
|
||||
.eq("check_id", dtl.getCheck_id()));
|
||||
//判断是否存在未完成的明细
|
||||
List<StIvtCheckdtlBcp> list = checkdtlBcpService.list(new QueryWrapper<StIvtCheckdtlBcp>().eq("check_id", dtl.getCheck_id())
|
||||
.ne("status", CHECKEnum.DTL_STATUS.code("完成")));
|
||||
if (list.size() == 0) {
|
||||
StIvtCheckmstBcp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstBcp>().eq("check_id", dtl.getCheck_id()));
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
||||
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||
jo_mst.setConfirm_time(DateUtil.now());
|
||||
//解锁起点点位、仓位
|
||||
List<StIvtCheckdtlBcp> finish_list = checkdtlBcpService.list(new QueryWrapper<StIvtCheckdtlBcp>().eq("check_id", dtl.getCheck_id())
|
||||
.eq("status", CHECKEnum.DTL_STATUS.code("完成")));
|
||||
finish_list.stream()
|
||||
.map(finish -> finish.getStruct_id())
|
||||
.distinct()
|
||||
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
|
||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||
if (dtl.getIs_down().equals("1")) {
|
||||
//更新终点点位状态
|
||||
String point_code = dtl.getCheckpoint_id();
|
||||
pointService.update(new UpdateWrapper<SchBasePoint>().lambda()
|
||||
.eq(SchBasePoint::getPoint_code, point_code)
|
||||
.set(SchBasePoint::getVehicle_code, dtl.getStoragevehicle_code()));
|
||||
|
||||
}
|
||||
if (dtl.getIs_down().equals("2")) {
|
||||
checkdtlBcpService.update(new UpdateWrapper<StIvtCheckdtlBcp>()
|
||||
.set("status", CHECKEnum.DTL_STATUS.code("完成"))
|
||||
.eq("struct_id", dtl.getStruct_id())
|
||||
.eq("check_id", dtl.getCheck_id()));
|
||||
//判断是否存在未完成的明细
|
||||
List<StIvtCheckdtlBcp> list = checkdtlBcpService.list(new QueryWrapper<StIvtCheckdtlBcp>().eq("check_id", dtl.getCheck_id())
|
||||
.ne("status", CHECKEnum.DTL_STATUS.code("完成")));
|
||||
if (list.size() == 0) {
|
||||
StIvtCheckmstBcp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstBcp>().eq("check_id", dtl.getCheck_id()));
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
||||
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||
jo_mst.setConfirm_time(DateUtil.now());
|
||||
//解锁起点点位、仓位
|
||||
List<StIvtCheckdtlBcp> finish_list = checkdtlBcpService.list(new QueryWrapper<StIvtCheckdtlBcp>().eq("check_id", dtl.getCheck_id())
|
||||
.eq("status", CHECKEnum.DTL_STATUS.code("完成")));
|
||||
finish_list.stream()
|
||||
.map(finish -> finish.getStruct_id())
|
||||
.distinct()
|
||||
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
||||
import org.nl.wms.product_manage.sch.service.TaskService;
|
||||
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||
import org.nl.wms.scheduler_manage.service.point.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||
import org.nl.wms.storage_manage.IOSEnum;
|
||||
@@ -45,10 +48,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
@@ -72,6 +72,10 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl<StIvtShutframei
|
||||
private StIvtStructivtBcpMapper bcpMapper;
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
private SchBasePointMapper pointMapper;
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -92,6 +96,13 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl<StIvtShutframei
|
||||
//根据任务号查询对应的任务组
|
||||
SchBaseTask task = taskService.getOne(new QueryWrapper<SchBaseTask>().eq("task_id", task_id));
|
||||
|
||||
String point_code = task.getPoint_code2();
|
||||
String vehicle_code = task.getVehicle_code();
|
||||
pointService.update(new UpdateWrapper<SchBasePoint>().lambda()
|
||||
.eq(SchBasePoint::getPoint_code, point_code)
|
||||
.set(SchBasePoint::getVehicle_code, vehicle_code));
|
||||
|
||||
|
||||
List<SchBaseTask> task_list = taskService.list(new QueryWrapper<SchBaseTask>()
|
||||
.eq("task_group_id", task.getTask_group_id())
|
||||
.ne("task_status", StatusEnum.TASK_FINISH)
|
||||
@@ -142,7 +153,10 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl<StIvtShutframei
|
||||
Assert.notNull(new Object[]{form, form.get("shutframeinv_id")}, "请求参数不能为空");
|
||||
|
||||
//查询可用的半成品移出点位
|
||||
List<String> point_list = Arrays.asList(new String[]{"PP01", "PP02"});
|
||||
Map map = new HashMap<>();
|
||||
map.put("region_code", "A1_BCP_PD");
|
||||
List<Map> point_list = pointMapper.canUsePoint(map);
|
||||
|
||||
if (point_list.size() < 2) {
|
||||
throw new BadRequestException("拼盘需要两个可用的拼盘点位!");
|
||||
}
|
||||
@@ -154,7 +168,7 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl<StIvtShutframei
|
||||
PointEvent event = PointEvent.builder()
|
||||
.type(AcsTaskEnum.TASK_STRUCT_SHUT.getCode())
|
||||
.point_code1(list.get(0).getTurnin_struct_code())
|
||||
.point_code2(point_list.get(0))
|
||||
.point_code2((String) point_list.get(0).get("point_code"))
|
||||
.task_group_id(task_group_id)
|
||||
.vehicle_code(list.get((0)).getStoragevehicle_code_in())
|
||||
.product_area(mst.getWorkshop_id())
|
||||
@@ -163,7 +177,7 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl<StIvtShutframei
|
||||
PointEvent event2 = PointEvent.builder()
|
||||
.type(AcsTaskEnum.TASK_STRUCT_SHUT.getCode())
|
||||
.point_code1(list.get(0).getTurnout_struct_code())
|
||||
.point_code2(point_list.get(1))
|
||||
.point_code2((String) point_list.get(1).get("point_code"))
|
||||
.vehicle_code(list.get((0)).getStoragevehicle_code())
|
||||
.product_area(mst.getWorkshop_id())
|
||||
.build();
|
||||
|
||||
@@ -2,7 +2,7 @@ import request from '@/utils/request'
|
||||
|
||||
export function add(data) {
|
||||
return request({
|
||||
url: 'api/mdPbMeasureunit',
|
||||
url: 'api/mdPbMeasureunit/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -10,16 +10,16 @@ export function add(data) {
|
||||
|
||||
export function del(ids) {
|
||||
return request({
|
||||
url: 'api/mdPbMeasureunit/',
|
||||
method: 'delete',
|
||||
url: 'api/mdPbMeasureunit/delete',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
export function edit(data) {
|
||||
return request({
|
||||
url: 'api/mdPbMeasureunit',
|
||||
method: 'put',
|
||||
url: 'api/mdPbMeasureunit/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<el-table-column prop="unit_code" label="编码" />
|
||||
<el-table-column prop="unit_name" label="名称" />
|
||||
<el-table-column prop="qty_precision" label="数据精度" />
|
||||
<el-table-column prop="update_optname" label="修改者" />
|
||||
<el-table-column prop="update_name" label="修改者" />
|
||||
<el-table-column prop="update_time" label="修改时间" width="135" />
|
||||
<el-table-column prop="is_used" label="启用 ">
|
||||
<template slot-scope="scope">
|
||||
|
||||
@@ -11,20 +11,22 @@
|
||||
>
|
||||
<el-row v-show="crud.status.cu > 0" :gutter="20">
|
||||
<el-col :span="20" style="border: 1px solid white">
|
||||
<span />
|
||||
<span/>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span>
|
||||
<el-button icon="el-icon-check" size="mini" :loading="crud.cu === 2" type="primary" @click="crud.submitCU">保存</el-button>
|
||||
<el-button icon="el-icon-check" size="mini" :loading="crud.cu === 2" type="primary"
|
||||
@click="crud.submitCU">保存</el-button>
|
||||
<el-button icon="el-icon-close" size="mini" type="info" @click="crud.cancelCU">关闭</el-button>
|
||||
</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true" :model="form" :rules="rules" size="mini" label-width="85px" label-suffix=":">
|
||||
<el-form ref="form" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;" :inline="true"
|
||||
:model="form" :rules="rules" size="mini" label-width="85px" label-suffix=":">
|
||||
<el-form-item label="单据号" prop="bill_code">
|
||||
<label slot="label">单 据 号:</label>
|
||||
<el-input v-model="form.bill_code" disabled placeholder="系统生成" clearable style="width: 210px" />
|
||||
<el-input v-model="form.bill_code" disabled placeholder="系统生成" clearable style="width: 210px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="仓库" prop="product_code">
|
||||
<label slot="label">所属仓库:</label>
|
||||
@@ -53,10 +55,10 @@
|
||||
:disabled="crud.status.view > 0"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in storlist"
|
||||
:key="item.stor_id"
|
||||
:label="item.stor_name"
|
||||
:value="item.stor_id"
|
||||
v-for="item in pointList"
|
||||
:key="item.point_code"
|
||||
:label="item.point_code"
|
||||
:value="item.point_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -96,7 +98,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="明细数" prop="detail_count">
|
||||
<label slot="label">明 细 数:</label>
|
||||
<el-input v-model="form.detail_count" size="mini" disabled style="width: 210px" />
|
||||
<el-input v-model="form.detail_count" size="mini" disabled style="width: 210px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="总重量" prop="total_qty">
|
||||
<label slot="label">总 重 量:</label>
|
||||
@@ -109,11 +111,13 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="业务日期" prop="biz_date">
|
||||
<el-date-picker v-model="form.biz_date" type="date" placeholder="选择日期" style="width: 210px" value-format="yyyy-MM-dd" :disabled="crud.status.view > 0" />
|
||||
<el-date-picker v-model="form.biz_date" type="date" placeholder="选择日期" style="width: 210px"
|
||||
value-format="yyyy-MM-dd" :disabled="crud.status.view > 0"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<label slot="label">备 注:</label>
|
||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea" :disabled="crud.status.view > 0" />
|
||||
<el-input v-model="form.remark" style="width: 380px;" rows="2" type="textarea"
|
||||
:disabled="crud.status.view > 0"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -121,7 +125,7 @@
|
||||
<div v-show="crud.status.add === 1" class="crud-opts2" style="margin-bottom: 5px;">
|
||||
<span class="crud-opts-right2">
|
||||
<!--左侧插槽-->
|
||||
<slot name="left" />
|
||||
<slot name="left"/>
|
||||
<el-button
|
||||
slot="left"
|
||||
class="filter-item"
|
||||
@@ -143,11 +147,11 @@
|
||||
border
|
||||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="55" align="center"/>
|
||||
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" />
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
|
||||
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" />
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码"/>
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称"/>
|
||||
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格"/>
|
||||
<el-table-column show-overflow-tooltip prop="base_bill_code" label="订单号">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
@@ -219,7 +223,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CRUD, { crud, form } from '@crud/crud'
|
||||
import CRUD, {crud, form} from '@crud/crud'
|
||||
import crudsemiproductIn from '@/views/wms/storage_manage/semiproduct/semiproductIn/semiproductIn'
|
||||
import MaterDtl from '@/views/wms/pub/MaterDialog'
|
||||
import crudStorattr from '@/views/wms/storage_manage/basedata/basedata'
|
||||
@@ -239,11 +243,11 @@ const defaultForm = {
|
||||
|
||||
export default {
|
||||
name: 'AddDialog',
|
||||
components: { MaterDtl },
|
||||
components: {MaterDtl},
|
||||
mixins: [crud(), form(defaultForm)],
|
||||
dicts: ['IO_BILL_STATUS', 'ST_QUALITY_SCODE', 'bill_type', 'product_area'],
|
||||
cruds() {
|
||||
return CRUD({ title: '入库新增', crudMethod: { ...crudsemiproductIn }})
|
||||
return CRUD({title: '入库新增', crudMethod: {...crudsemiproductIn}})
|
||||
},
|
||||
props: {
|
||||
dialogShow: {
|
||||
@@ -262,16 +266,17 @@ export default {
|
||||
opendtlParam: null,
|
||||
materType: '03', // 关键成品
|
||||
storlist: [],
|
||||
pointList: [{ 'point_code': 'RK01' }],
|
||||
billtypelist: [],
|
||||
rules: {
|
||||
product_code: [
|
||||
{ required: true, message: '生产车间不能为空', trigger: 'blur' }
|
||||
{required: true, message: '生产车间不能为空', trigger: 'blur'}
|
||||
],
|
||||
bill_type: [
|
||||
{ required: true, message: '业务类型不能为空', trigger: 'blur' }
|
||||
{required: true, message: '业务类型不能为空', trigger: 'blur'}
|
||||
],
|
||||
biz_date: [
|
||||
{ required: true, message: '业务日期不能为空', trigger: 'blur' }
|
||||
{required: true, message: '业务日期不能为空', trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -285,7 +290,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
crudStorattr.getStor({ 'stor_type': '2' }).then(res => {
|
||||
crudStorattr.getStor({'stor_type': '2'}).then(res => {
|
||||
this.storlist = res.content
|
||||
})
|
||||
},
|
||||
@@ -294,7 +299,7 @@ export default {
|
||||
},
|
||||
[CRUD.HOOK.afterToEdit]() {
|
||||
// 获取入库单明细
|
||||
crudsemiproductIn.getIODtl({ 'iostorinv_id': this.form.iostorinv_id }).then(res => {
|
||||
crudsemiproductIn.getIODtl({'iostorinv_id': this.form.iostorinv_id}).then(res => {
|
||||
this.form.tableData = res
|
||||
// 将明细变成不可编辑
|
||||
for (let i = 0; i < this.form.tableData.length; i++) {
|
||||
@@ -304,7 +309,7 @@ export default {
|
||||
})
|
||||
},
|
||||
[CRUD.HOOK.afterToView]() {
|
||||
crudsemiproductIn.getIODtl({ 'bill_code': this.form.bill_code }).then(res => {
|
||||
crudsemiproductIn.getIODtl({'bill_code': this.form.bill_code}).then(res => {
|
||||
this.form.tableData = res.content
|
||||
// 将明细变成不可编辑
|
||||
for (let i = 0; i < this.form.tableData.length; i++) {
|
||||
|
||||
@@ -78,10 +78,10 @@
|
||||
:disabled="crud.status.view > 0"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in storlist"
|
||||
:key="item.stor_id"
|
||||
:label="item.stor_name"
|
||||
:value="item.stor_id"
|
||||
v-for="item in pointList"
|
||||
:key="item.point_code"
|
||||
:label="item.point_code"
|
||||
:value="item.point_code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -247,6 +247,7 @@ export default {
|
||||
materType: '03', // 关键成品
|
||||
storlist: [],
|
||||
billtypelist: [],
|
||||
pointList: [{ 'point_code': 'CK01' }],
|
||||
rules: {
|
||||
product_code: [
|
||||
{ required: true, message: '生产车间不能为空', trigger: 'blur' }
|
||||
|
||||
Reference in New Issue
Block a user