zhangyuewww пре 2 година
родитељ
комит
9990108e3d

+ 9 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousePositionInfoController.java

@@ -45,6 +45,15 @@ public class WarehousePositionInfoController {
     public List<WarehousePositionInfo> selectBinNumberList(@RequestParam String baseId){
         return warehousePositionInfoService.selectBinNumberList(baseId);
     }
+    /**
+     * 开关电子锁
+     * @param warehousePositionInfo
+     * @return
+     */
+    @PostMapping("/api/openLock")
+    public String openLock(@RequestBody WarehousePositionInfo warehousePositionInfo) {
+        return warehousePositionInfoService.openLock(warehousePositionInfo);
+    }
 
 }
 

+ 6 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TradeWarehouseReceiptAppl.java

@@ -269,6 +269,12 @@ public class TradeWarehouseReceiptAppl extends BaseModel<TradeWarehouseReceiptAp
     @TableField(exist = false)
     private String editFlag;
 
+    /**
+     * 电子锁标识
+     */
+    @TableField(exist = false)
+    private String electronicLock;
+
     @TableField(exist = false)
     private List<TradeWarehouseReceiptAppl> tradeWarehouseReceiptAppls;
     @TableField(exist = false)

+ 28 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehousePositionInfo.java

@@ -56,6 +56,14 @@ public class WarehousePositionInfo extends BaseModel<WarehousePositionInfo> {
      * 备注
      */
     private String remark;
+    /**
+     * 电子锁标识
+     */
+    private String electronicLock;
+    /**
+     * 状态(0未开锁1已开锁)
+     */
+    private String lockStatus;
     /**
      * 详细储量
      */
@@ -66,6 +74,26 @@ public class WarehousePositionInfo extends BaseModel<WarehousePositionInfo> {
      */
     @TableField(exist = false)
     private List<WarehousePositionStorageInfo> warehousePositionStorageInfoList;
+    /**
+     * flag(1开锁2关锁)
+     */
+    @TableField(exist = false)
+    private String flag;
+    /**
+     * 开锁人员
+     */
+    @TableField(exist = false)
+    private String lockName;
+    /**
+     * 开锁事由
+     */
+    @TableField(exist = false)
+    private String lockReason;
+    /**
+     * 开锁备注
+     */
+    @TableField(exist = false)
+    private String lockRemark;
 
 
     @Override

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehousePositionInfoService.java

@@ -30,4 +30,6 @@ public interface IWarehousePositionInfoService extends IService<WarehousePositio
      * 打印仓位类型下拉
      */
     List<WarehousePositionInfo> selectBinNumberList(String baseId);
+
+    String openLock(WarehousePositionInfo warehousePositionInfo);
 }

+ 8 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TradeWarehouseReceiptApplServiceImpl.java

@@ -16,11 +16,8 @@ import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.TradeWarehouseReceiptApplMapper;
-import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
-import com.yh.saas.plugin.yiliangyiyun.service.ITradeWarehouseReceiptApplService;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseBaseInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -48,6 +45,8 @@ public class TradeWarehouseReceiptApplServiceImpl extends ServiceImpl<TradeWareh
     @Autowired
     private IWarehouseBaseInfoService warehouseBaseInfoService;
     @Autowired
+    private IWarehousePositionInfoService warehousePositionInfoService;
+    @Autowired
     private IWarehouseInOutInfoService warehouseInOutInfoService;
     @SofaReference
     private ICommonRoleResourceService roleResourceService;
@@ -95,6 +94,11 @@ public class TradeWarehouseReceiptApplServiceImpl extends ServiceImpl<TradeWareh
                     taskId = jsonObject.getString("taskId");
                     tradeWarehouseReceiptAppl1.setTaskId(taskId);
                 }
+                WarehousePositionInfo warehousePositionInfo=warehousePositionInfoService.selectById(tradeWarehouseReceiptAppl1.getWarehouseNoId());
+                if (warehousePositionInfo!=null){
+                    tradeWarehouseReceiptAppl1.setLockedStatusFlag(warehousePositionInfo.getLockStatus());
+                    tradeWarehouseReceiptAppl1.setElectronicLock(warehousePositionInfo.getElectronicLock());
+                }
             });
 
         }

+ 58 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousePositionInfoServiceImpl.java

@@ -1,6 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.base.entity.CommonBillOperateHis;
+import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
@@ -15,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -32,6 +38,8 @@ public class WarehousePositionInfoServiceImpl extends ServiceImpl<WarehousePosit
 
     @Autowired
     private IWarehousePositionStorageInfoService warehousePositionStorageInfoService;
+    @Autowired
+    private ICommonBillOperateHisService commonBillOperateHisService;
 
     /**
      * 删除仓位
@@ -114,4 +122,54 @@ public class WarehousePositionInfoServiceImpl extends ServiceImpl<WarehousePosit
         return warehousePositionInfoList;
     }
 
+    @Override
+    public String openLock(WarehousePositionInfo warehousePositionInfo) {
+        //开锁
+        if ("1".equals(warehousePositionInfo.getFlag())){
+            List<WarehousePositionInfo> warehousePositionInfoList=this.selectList(new EntityWrapper<WarehousePositionInfo>()
+            .eq("electronic_lock",warehousePositionInfo.getElectronicLock()));
+            if (!CollectionUtils.isEmpty(warehousePositionInfoList)){
+                for (WarehousePositionInfo warehousePositionInfo1:warehousePositionInfoList){
+                    warehousePositionInfo1.setLockStatus("1");
+                    this.updateById(warehousePositionInfo1);
+                }
+            }
+            //  添加提交历史
+            CommonBillOperateHis commonBillOperateHis = new CommonBillOperateHis();
+            commonBillOperateHis.setBillId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+            commonBillOperateHis.setId(IdGenerator.generateUUID());
+            commonBillOperateHis.setBillType("LOCK");
+            commonBillOperateHis.setBillName(warehousePositionInfo.getElectronicLock());
+            commonBillOperateHis.setOperateDate(new Date());
+            commonBillOperateHis.setDealMsg("开锁");
+            commonBillOperateHis.setDealMsgEn(warehousePositionInfo.getLockReason());
+            commonBillOperateHis.setVerifyRemark(warehousePositionInfo.getLockRemark());
+            commonBillOperateHis.setOperateUser(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
+            commonBillOperateHis.setVerifyUserDuty(warehousePositionInfo.getLockName());
+            commonBillOperateHisService.create(commonBillOperateHis);
+        }
+        //关锁
+        else{
+            List<WarehousePositionInfo> warehousePositionInfoList=this.selectList(new EntityWrapper<WarehousePositionInfo>()
+                    .eq("electronic_lock",warehousePositionInfo.getElectronicLock()));
+            if (!CollectionUtils.isEmpty(warehousePositionInfoList)){
+                for (WarehousePositionInfo warehousePositionInfo1:warehousePositionInfoList){
+                    warehousePositionInfo1.setLockStatus("0");
+                    this.updateById(warehousePositionInfo1);
+                }
+            }
+            //  添加提交历史
+            CommonBillOperateHis commonBillOperateHis = new CommonBillOperateHis();
+            commonBillOperateHis.setBillId(AuthSecurityUtils.getCurrentUserInfo().getCompId());
+            commonBillOperateHis.setBillType("LOCK");
+            commonBillOperateHis.setId(IdGenerator.generateUUID());
+            commonBillOperateHis.setBillName(warehousePositionInfo.getElectronicLock());
+            commonBillOperateHis.setOperateDate(new Date());
+            commonBillOperateHis.setDealMsg("关锁");
+            commonBillOperateHis.setOperateUser(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
+            commonBillOperateHisService.create(commonBillOperateHis);
+        }
+        return null;
+    }
+
 }

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TradeWarehouseReceiptApplMapper.xml

@@ -74,6 +74,7 @@
         approve_status as approveStatus,
         locked_status_flag as lockedStatusFlag,
         locked_status as lockedStatus,
+        warehouse_no_id as warehouseNoId,
         workflow_id as workflowId
         FROM trade_warehouse_receipt_appl
         WHERE