Browse Source

fix:车间仓物料实时计算

hmc 6 months ago
parent
commit
35ce553b8d

+ 1 - 1
zkqy-admin/src/main/java/com/zkqy/web/controller/system/SysUserController.java

@@ -94,7 +94,7 @@ public class SysUserController extends BaseController {
         List<SysUser> list = userService.selectUserList(sysUser);
         List<SysUser> list = userService.selectUserList(sysUser);
 
 
         // 定义基础目录
         // 定义基础目录
-        String baseDir = "C:\\Users\\86180\\Desktop\\lims";
+        String baseDir = "C:\\Users\\86180\\Desktop\\lims\\yhsj";
 
 
         //循环
         //循环
         list.forEach(item->{
         list.forEach(item->{

+ 22 - 4
zkqy-fujian-amichi/src/main/java/com/zkqy/amichi/controller/MaterialInfoController.java

@@ -3,9 +3,11 @@ package com.zkqy.amichi.controller;
 import java.util.List;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 
 
+import com.github.pagehelper.PageInfo;
 import com.zkqy.amichi.domain.MaterialInfo;
 import com.zkqy.amichi.domain.MaterialInfo;
 import com.zkqy.amichi.domain.Materialtransactionlog;
 import com.zkqy.amichi.domain.Materialtransactionlog;
 import com.zkqy.amichi.domain.vo.MaterialSetQueryVo;
 import com.zkqy.amichi.domain.vo.MaterialSetQueryVo;
+import com.zkqy.common.constant.HttpStatus;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -86,11 +88,27 @@ public class MaterialInfoController extends BaseController
 
 
     @Log(title = "物料信息实时计算", businessType = BusinessType.IMPORT)
     @Log(title = "物料信息实时计算", businessType = BusinessType.IMPORT)
     //@PreAuthorize("@ss.hasPermi('system:user:import')")
     //@PreAuthorize("@ss.hasPermi('system:user:import')")
-    @PostMapping("/realTimeComputing")
-    public TableDataInfo realTimeComputing() throws Exception {
+    @GetMapping("/realTimeComputing/list")
+    public TableDataInfo realTimeComputing(MaterialInfo materialInfo) throws Exception {
+
+        //默认查原材料的条件我写死到了sql里
+        materialInfo.setCatType("1");
+        //如果前端传递了仓库搜索条件那么我就按照你给定的仓库类型去查询原材料
+        if(materialInfo.getCkNumber()!=""&&materialInfo.getCkNumber()!=null){
+            materialInfo.setCatType("");
+        }
         startPage();
         startPage();
-        List<MaterialInfo> as= materialInfoService.realTimeComputing();
-        return getDataTable(as);
+        List<MaterialInfo> as= materialInfoService.realTimeComputing(materialInfo);
+
+        List<MaterialInfo> list = materialInfoService.selectMaterialInfoList(materialInfo);
+
+        TableDataInfo rspData = new TableDataInfo();
+        rspData.setCode(HttpStatus.SUCCESS);
+        rspData.setMsg("查询成功");
+        rspData.setRows(as);
+        long total = new PageInfo(list).getTotal();
+        rspData.setTotal(total);
+        return  rspData;
     }
     }
 
 
 
 

+ 1 - 1
zkqy-fujian-amichi/src/main/java/com/zkqy/amichi/service/IMaterialInfoService.java

@@ -100,5 +100,5 @@ public interface IMaterialInfoService
      * 物料信息实时计算
      * 物料信息实时计算
      * @return
      * @return
      */
      */
-    List<MaterialInfo> realTimeComputing();
+    List<MaterialInfo> realTimeComputing(MaterialInfo materialInfo);
 }
 }

+ 12 - 10
zkqy-fujian-amichi/src/main/java/com/zkqy/amichi/service/impl/MaterialInfoServiceImpl.java

@@ -41,6 +41,8 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
 
 
     @Autowired
     @Autowired
     private TaskDetailsMapper taskDetailsMapper;
     private TaskDetailsMapper taskDetailsMapper;
+    @Autowired
+    MaterialRetentionLogMapper retentionLogMapper;
 
 
     @Autowired
     @Autowired
     private ProductionTasksMapper productionTasksMapper;
     private ProductionTasksMapper productionTasksMapper;
@@ -338,20 +340,19 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
     }
     }
 
 
     @Override
     @Override
-    public List<MaterialInfo> realTimeComputing() {
+    public List<MaterialInfo> realTimeComputing(MaterialInfo materialInfo) {
         //同步更新车间仓物料信息系
         //同步更新车间仓物料信息系
         System.out.println("更新车间仓物料信息");
         System.out.println("更新车间仓物料信息");
         //查询当前车间仓物料信息
         //查询当前车间仓物料信息
-        MaterialInfo materialInfo=new MaterialInfo();
         materialInfo.setCkNumber("CK005");
         materialInfo.setCkNumber("CK005");
         List<MaterialInfo> materialInfos = materialInfoMapper.selectMaterialInfoList(materialInfo);
         List<MaterialInfo> materialInfos = materialInfoMapper.selectMaterialInfoList(materialInfo);
         //扣料记录查询
         //扣料记录查询
-        Materialtransactionlog materialtransactionlog=new Materialtransactionlog();
-        List<Materialtransactionlog> materialtransactionlogs = materialtransactionlogMapper.selectMaterialtransactionlogListSun(materialtransactionlog);
+        MaterialRetentionLog materialtransactionlog=new MaterialRetentionLog();
+        List<MaterialRetentionLog> retentionLogs = retentionLogMapper.selectMaterialRetentionLogList(materialtransactionlog);
         //合并
         //合并
-        Map<String, Materialtransactionlog> materialLogMap = materialtransactionlogs.stream()
+        Map<String, MaterialRetentionLog> materialLogMap = retentionLogs.stream()
                 .collect(Collectors.toMap(
                 .collect(Collectors.toMap(
-                        Materialtransactionlog::getMaterialCode,
+                        MaterialRetentionLog::getMaterialCode,
                         log -> log,
                         log -> log,
                         (existing, replacement) -> existing // 或者选择其他合并策略
                         (existing, replacement) -> existing // 或者选择其他合并策略
                 ));
                 ));
@@ -359,14 +360,16 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
         //对比计算
         //对比计算
         List<MaterialInfo> items = materialInfos.stream().map(item -> {
         List<MaterialInfo> items = materialInfos.stream().map(item -> {
             //拿到当前相同的母粒
             //拿到当前相同的母粒
-            Materialtransactionlog materialtransactionlog1 = materialLogMap.get(item.getMaterialCode());
-            Optional<Materialtransactionlog> optionalObj = Optional.ofNullable(materialtransactionlog1);
+            MaterialRetentionLog materialtransactionlog1 = materialLogMap.get(item.getMaterialCode());
+            //material_retention_log
+            Optional<MaterialRetentionLog> optionalObj = Optional.ofNullable(materialtransactionlog1);
+            System.out.println(optionalObj.isPresent());
             //判断是否从Map里拿到了扣料记录
             //判断是否从Map里拿到了扣料记录
             if (optionalObj.isPresent()) {
             if (optionalObj.isPresent()) {
                 System.out.println("对象不为空");
                 System.out.println("对象不为空");
                 //设置新的数量
                 //设置新的数量
                 BigDecimal bigDecimal1 = new BigDecimal(item.getStockQuantity());
                 BigDecimal bigDecimal1 = new BigDecimal(item.getStockQuantity());
-                BigDecimal bigDecimal2 = new BigDecimal(materialtransactionlog1.getQuantity());
+                BigDecimal bigDecimal2 = new BigDecimal(materialtransactionlog1.getActualQuantityIssued());
                 //相减计算
                 //相减计算
                 BigDecimal subtract = bigDecimal1.subtract(bigDecimal2);//计算的新的数量
                 BigDecimal subtract = bigDecimal1.subtract(bigDecimal2);//计算的新的数量
                 item.setStockQuantity(subtract.doubleValue());
                 item.setStockQuantity(subtract.doubleValue());
@@ -375,5 +378,4 @@ public class MaterialInfoServiceImpl implements IMaterialInfoService
         }).collect(Collectors.toList());
         }).collect(Collectors.toList());
         return  items;
         return  items;
     }
     }
-
 }
 }

+ 8 - 0
zkqy-ui/src/api/amichi/materiel/materialInfo.js

@@ -28,6 +28,14 @@ export function workshopWarehouseMaterialPulling(query) {
     timeout: 500000 // 设置超时时间为5秒
     timeout: 500000 // 设置超时时间为5秒
   })
   })
 }
 }
+export function realTimeComputingApi(query) {
+  return request({
+    url: '/amichi/materialInfo/realTimeComputing/list',
+    method: 'get',
+    params: query,
+    timeout: 500000 // 设置超时时间为5秒
+  })
+}
 
 
 
 
 // 查询成品信息列表
 // 查询成品信息列表

+ 28 - 4
zkqy-ui/src/views/amichi/shopRoom/index.vue

@@ -124,8 +124,17 @@
           @click="realTimeComputing"
           @click="realTimeComputing"
           v-hasPermi="['system:user:import']"
           v-hasPermi="['system:user:import']"
         >实时计算
         >实时计算
-        </el-button
-        >
+        </el-button>
+
+      </el-col>
+      <el-col :span="1.5">
+        <el-switch
+          style="display: block"
+          v-model="isSwitchSo"
+          active-color="#13ce66"
+          inactive-color="#ff4949"
+          inactive-text="实时搜索">
+        </el-switch>
       </el-col>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     </el-row>
@@ -271,7 +280,8 @@ import {
   addMaterialInfo,
   addMaterialInfo,
   updateMaterialInfo,
   updateMaterialInfo,
   pullMaterialInfoJustStoresApi,
   pullMaterialInfoJustStoresApi,
-  workshopWarehouseMaterialPulling
+  workshopWarehouseMaterialPulling,
+  realTimeComputingApi
 } from "@/api/amichi/materiel/materialInfo";
 } from "@/api/amichi/materiel/materialInfo";
 import {getToken} from "@/utils/auth";
 import {getToken} from "@/utils/auth";
 
 
@@ -280,6 +290,7 @@ export default {
   dicts: ["wlsx","cktype"],
   dicts: ["wlsx","cktype"],
   data() {
   data() {
     return {
     return {
+      isSwitchSo:false,
       // 遮罩层
       // 遮罩层
       loading: true,
       loading: true,
       // 选中数组
       // 选中数组
@@ -368,6 +379,14 @@ export default {
     //及时计算
     //及时计算
     realTimeComputing(){
     realTimeComputing(){
       console.log("及时计算")
       console.log("及时计算")
+        realTimeComputingApi(this.queryParams).then(response => {
+          if(response.code==200){
+            // this.getList();
+            this.materialInfoList = response.rows;
+            this.total = response.total;
+            this.loading = false;
+          }
+        });
     },
     },
     // 文件上传中处理
     // 文件上传中处理
     handleFileUploadProgress(event, file, fileList) {
     handleFileUploadProgress(event, file, fileList) {
@@ -463,7 +482,12 @@ export default {
     /** 搜索按钮操作 */
     /** 搜索按钮操作 */
     handleQuery() {
     handleQuery() {
       this.queryParams.pageNum = 1;
       this.queryParams.pageNum = 1;
-      this.getList();
+      if(this.isSwitchSo){
+        this.realTimeComputing();
+      }else {
+        this.getList();
+      }
+
     },
     },
     /** 重置按钮操作 */
     /** 重置按钮操作 */
     resetQuery() {
     resetQuery() {