手持机部分
This commit is contained in:
@@ -96,15 +96,5 @@ public class BasWarehouseController extends BaseController
|
||||
{
|
||||
return toAjax(basWarehouseService.deleteBasWarehouseByWarehouseIds(warehouseIds));
|
||||
}
|
||||
/**
|
||||
* 获取除了CTU以外的库
|
||||
*/
|
||||
@RequestMapping("/getWarehouseByType")
|
||||
@ResponseBody
|
||||
public AjaxResult getWarehouseByType()
|
||||
{
|
||||
|
||||
List<BasWarehouse> list = basWarehouseService.selectBasWarehouseListByType();
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,6 +59,9 @@ public class BasWarehouse extends BaseEntity
|
||||
|
||||
/*仓库数据权限*/
|
||||
private List<String> dataScope;
|
||||
private List<String> typeData;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -60,9 +60,6 @@ public interface BasWarehouseMapper
|
||||
*/
|
||||
public int deleteBasWarehouseByWarehouseIds(String[] warehouseIds);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public List<BasWarehouse> selectBasWarehouseListByType();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -60,8 +60,5 @@ public interface IBasWarehouseService
|
||||
*/
|
||||
public int deleteBasWarehouseByWarehouseId(String warehouseId);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public List<BasWarehouse> selectBasWarehouseListByType();
|
||||
|
||||
}
|
||||
|
||||
@@ -116,11 +116,5 @@ public class BasWarehouseServiceImpl implements IBasWarehouseService
|
||||
return basWarehouseMapper.deleteBasWarehouseByWarehouseId(warehouseId);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
public List<BasWarehouse> selectBasWarehouseListByType() {
|
||||
return basWarehouseMapper.selectBasWarehouseListByType();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -138,4 +138,8 @@ public class InStockinDetail extends BaseEntity
|
||||
|
||||
private ExtraField extraField;
|
||||
|
||||
private String warehouseName;
|
||||
|
||||
private String warehouseId;
|
||||
|
||||
}
|
||||
|
||||
@@ -68,5 +68,5 @@ public interface InStockinDetailMapper
|
||||
|
||||
void deleteInStockinDetailByStockinGuid(String stockinGuid);
|
||||
|
||||
List<InStockinDetail> selectStockinByDetailById(String stockinDetailId);
|
||||
InStockinDetail selectStockinByDetailById(String stockinDetailId);
|
||||
}
|
||||
|
||||
@@ -80,5 +80,5 @@ public interface IInStockinDetailService
|
||||
AjaxResult barcodePrinting(Map<String,Object> stockinDetailId);
|
||||
|
||||
|
||||
public List<InStockinDetail> selectStockinByDetailById(String stockinDetailId);
|
||||
public InStockinDetail selectStockinByDetailById(String stockinDetailId);
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ public class InStockinDetailServiceImpl implements IInStockinDetailService
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<InStockinDetail> selectStockinByDetailById(String stockinDetailId) {
|
||||
public InStockinDetail selectStockinByDetailById(String stockinDetailId) {
|
||||
return inStockinDetailMapper.selectStockinByDetailById(stockinDetailId);
|
||||
|
||||
}
|
||||
|
||||
@@ -127,8 +127,8 @@ public class PdaController extends BaseController {
|
||||
*/
|
||||
@RequestMapping("/inorder/detail")
|
||||
@ResponseBody
|
||||
public List<InStockinDetail> inoderList(String stockinDetailId) {
|
||||
List<InStockinDetail> inStockinDetail = inStockinDetailService.selectStockinByDetailById(stockinDetailId);
|
||||
public InStockinDetail inoderList(String stockinDetailId) {
|
||||
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(stockinDetailId);
|
||||
return inStockinDetail;
|
||||
}
|
||||
/**
|
||||
@@ -158,15 +158,13 @@ public class PdaController extends BaseController {
|
||||
@ResponseBody
|
||||
public AjaxResult addInJob(@RequestBody TrayCodeMsg trayCodeMsg) {
|
||||
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(trayCodeMsg.getWarehouseId());
|
||||
if(basWarehouse==null){
|
||||
return AjaxResult.error("仓库不存在");
|
||||
}
|
||||
// if(basWarehouse==null){
|
||||
// return AjaxResult.error("仓库不存在");
|
||||
// }
|
||||
if("1".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getCargoSpaceId())){
|
||||
return AjaxResult.error("请选择高架库货位");
|
||||
}
|
||||
if("2".equals(basWarehouse.getWarehouseType()) && StrUtil.isEmpty(trayCodeMsg.getEntranceId())){
|
||||
return AjaxResult.error("请选择入口");
|
||||
}
|
||||
|
||||
return pdaService.addInJob(trayCodeMsg);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,24 @@
|
||||
package com.ruoyi.pda.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
|
||||
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.in.stockin.service.IInStockinService;
|
||||
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
||||
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
|
||||
import com.ruoyi.pda.domain.TrayCodeMsg;
|
||||
import com.ruoyi.pda.mapper.PdaMapper;
|
||||
import com.ruoyi.pda.trayMsg.domain.TrayMsg;
|
||||
import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
|
||||
import com.ruoyi.system.service.ISysRoleService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -19,6 +29,12 @@ public class PdaServiceImp implements PdaService{
|
||||
PdaMapper pdaMapper;
|
||||
@Autowired
|
||||
IBasCargoSpaceService basCargoSpaceService;
|
||||
@Autowired
|
||||
ISysRoleService sysRoleService;
|
||||
@Autowired
|
||||
IInStockinDetailService inStockinDetailService;
|
||||
@Autowired
|
||||
ITrayMsgService trayMsgService;
|
||||
|
||||
/**
|
||||
* 空托盘入库
|
||||
@@ -94,6 +110,32 @@ public class PdaServiceImp implements PdaService{
|
||||
|
||||
@Override
|
||||
public AjaxResult bindTrayMsg(TrayCodeMsg trayCodeMsg) {
|
||||
//判断用户的仓库权限
|
||||
List<SysRole> roles = sysRoleService.selectRolesByUserId(SecurityUtils.getUserId());
|
||||
if (!roles.stream().anyMatch(SysRole::isAdmin)){
|
||||
|
||||
for (SysRole role : roles) {
|
||||
if (CollUtil.isNotEmpty(role.getWarehouseDataScope())){
|
||||
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
|
||||
if(!role.getWarehouseDataScope().stream().anyMatch(warehouseId -> warehouseId.equals(inStockinDetail.getWarehouseId()))){
|
||||
return AjaxResult.warn("此用户无权限操作该仓库物料");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//判断与已绑定物料是否为同一仓库
|
||||
TrayMsg trayMsg = new TrayMsg();
|
||||
trayMsg.setTrayCode(trayCodeMsg.getTrayCode());
|
||||
List<TrayMsg> trayMsgs = trayMsgService.selectTrayMsgList(trayMsg);
|
||||
if(trayMsgs.size()>0){
|
||||
InStockinDetail inStockinDetail = inStockinDetailService.selectStockinByDetailById(trayCodeMsg.getStockinDetailId());
|
||||
if(!trayMsgs.get(0).getWarehouseId().equals(inStockinDetail.getWarehouseId())){
|
||||
return AjaxResult.warn("同一托盘不能绑定不同仓库的物料");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMsg.getTrayCode());
|
||||
map.put("v_stockin_detail_id", trayCodeMsg.getStockinDetailId());
|
||||
@@ -112,9 +154,8 @@ public class PdaServiceImp implements PdaService{
|
||||
public AjaxResult addInJob(TrayCodeMsg trayCodeMsg) {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("v_tray_code", trayCodeMsg.getTrayCode());
|
||||
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
||||
// map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
|
||||
map.put("v_cargo_space_id", trayCodeMsg.getCargoSpaceId());
|
||||
map.put("v_entrance_id", trayCodeMsg.getEntranceId());
|
||||
pdaMapper.addInJob(map);
|
||||
String result = map.get("v_result").toString();
|
||||
if("10".equals(result)){
|
||||
|
||||
@@ -32,6 +32,36 @@ public class TrayMsg extends BaseEntity
|
||||
|
||||
private String productName;
|
||||
|
||||
private String warehouseId;
|
||||
|
||||
private String warehouseName;
|
||||
|
||||
private String warehouseType;
|
||||
|
||||
public String getWarehouseType() {
|
||||
return warehouseType;
|
||||
}
|
||||
|
||||
public void setWarehouseType(String warehouseType) {
|
||||
this.warehouseType = warehouseType;
|
||||
}
|
||||
|
||||
public String getWarehouseId() {
|
||||
return warehouseId;
|
||||
}
|
||||
|
||||
public void setWarehouseId(String warehouseId) {
|
||||
this.warehouseId = warehouseId;
|
||||
}
|
||||
|
||||
public String getWarehouseName() {
|
||||
return warehouseName;
|
||||
}
|
||||
|
||||
public void setWarehouseName(String warehouseName) {
|
||||
this.warehouseName = warehouseName;
|
||||
}
|
||||
|
||||
public String getProductName() {
|
||||
return productName;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="typeData != null and typeData.size()>0">
|
||||
and warehouse_type in
|
||||
<foreach item="item" index="index" collection="typeData" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@@ -98,8 +104,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<select id="selectBasWarehouseListByType" resultMap="BasWarehouseResult">
|
||||
<include refid="selectBasWarehouseVo"/>
|
||||
where warehouse_type in (1,3)
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -35,6 +35,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="scanNum" column="scan_num" />
|
||||
<result property="scanNumX" column="scan_num_x" />
|
||||
<result property="scanNumJ" column="scan_num_j" />
|
||||
<result property="warehouseName" column="warehouse_name" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<association property="extraField" javaType="ExtraField">
|
||||
<result property="productId" column="product_id" />
|
||||
<result property="materialDesc" column="product_name" />
|
||||
@@ -301,10 +303,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
isd.supplier_id, isd.customer_id, isd.unit, isd.spec, isd.spare1, isd.spare2, isd.spare3, isd.spare4,
|
||||
isd.spare5, isd.spare6, isd.scan_num, isd.scan_num_x, isd.scan_num_j,
|
||||
bp.product_name, bp.spare1 as englishDesc,
|
||||
bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume
|
||||
bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume,bw.warehouse_name,ist.warehouse_id
|
||||
from in_stockin_detail isd
|
||||
left join bas_product bp on bp.product_id = isd.product_id
|
||||
left join in_stockin ist on ist.stockin_guid = isd.stockin_guid
|
||||
left join bas_warehouse bw on bw.warehouse_id = ist.warehouse_id
|
||||
<where>
|
||||
<if test="stockinDetailId != null and stockinDetailId != '' ">
|
||||
isd.stockin_detail_id = #{stockinDetailId}
|
||||
|
||||
@@ -10,16 +10,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="stockinDetailId" column="stockin_detail_id" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="productName" column="product_name" />
|
||||
<result property="warehouseId" column="warehouse_id" />
|
||||
<result property="warehouseName" column="warehouse_name" />
|
||||
<result property="warehouseType" column="warehouse_type" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectTrayMsgVo">
|
||||
select id, tray_code, stockin_detail_id, quantity from tray_msg
|
||||
select id, tray_code, stockin_detail_id, quantity,warehouse_id from tray_msg
|
||||
</sql>
|
||||
|
||||
<select id="selectTrayMsgList" parameterType="TrayMsg" resultMap="TrayMsgResult">
|
||||
select t.id, t.tray_code, t.stockin_detail_id, t.quantity,p.product_name from tray_msg t
|
||||
select t.id, t.tray_code, t.stockin_detail_id, t.quantity,p.product_name,t.warehouse_id,w.warehouse_name,w.warehouse_type from tray_msg t
|
||||
left join in_stockin_detail d on t.stockin_detail_id = d.stockin_detail_id
|
||||
left join bas_product p on d.product_id=p.product_id
|
||||
left join bas_warehouse w on t.warehouse_id=w.warehouse_id
|
||||
<where>
|
||||
<if test="trayCode != null and trayCode != ''"> and t.tray_code = #{trayCode}</if>
|
||||
<if test="stockinDetailId != null and stockinDetailId != ''"> and t.stockin_detail_id = #{stockinDetailId}</if>
|
||||
@@ -39,12 +43,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="trayCode != null">tray_code,</if>
|
||||
<if test="stockinDetailId != null">stockin_detail_id,</if>
|
||||
<if test="quantity != null">quantity,</if>
|
||||
<if test="warehouseId != null">warehouse_id,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">#{id},</if>
|
||||
<if test="trayCode != null">#{trayCode},</if>
|
||||
<if test="stockinDetailId != null">#{stockinDetailId},</if>
|
||||
<if test="quantity != null">#{quantity},</if>
|
||||
<if test="warehouseId != null">#{warehouseId},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user