Bladeren bron

刀具库

oyq28 1 jaar geleden
bovenliggende
commit
52c55ff0db

+ 6 - 0
src/main/java/com/imcs/admin/business/controller/BusinessController.java

@@ -300,4 +300,10 @@ public class BusinessController {
         return Result.success();
     }
 
+    @PostMapping("/knives/save")
+    public Result knivesSave(@RequestBody Map<String,Object> map){
+        businessService.knivesSave(map);
+        return Result.success();
+    }
+
 }

+ 2 - 0
src/main/java/com/imcs/admin/business/service/BusinessService.java

@@ -35,4 +35,6 @@ public interface BusinessService {
     void updateProcessProcedure(Long id);
 
     void printer(String workCode);
+
+    void knivesSave(Map<String, Object> map);
 }

+ 29 - 0
src/main/java/com/imcs/admin/business/service/impl/BusinessServiceImpl.java

@@ -499,6 +499,35 @@ public class BusinessServiceImpl implements BusinessService{
         log.info("JposPrinterDemo finished.:"+workCode);
     }
 
+    @Override
+    public void knivesSave(Map<String, Object> map) {
+        long parentId = Long.parseLong(map.get("parentId").toString());
+        int recordType = Integer.parseInt(map.get("recordType").toString());
+        long amount = Long.parseLong(map.get("amount").toString());
+
+        jdbcService.insert("INSERT INTO a_knives_record ( `parent_id`, `record_type`, `created_by`, `created_at`, `amount`) VALUES ( ?, ?, ?, ?, ?)",parentId,recordType,getUserId(),new Date(),amount);
+        Map<String, Object> one = jdbcService.findOne("select * from a_knives_store where parent_id=?", parentId);
+        //0 接 -> 出库     1 ->  还  入库
+        if(recordType == 0){
+            if(one == null){
+                throw new RuntimeException("该刀具无库存");
+            }
+            long storeAmount = Long.parseLong(one.get("storeAmount").toString());
+            if(storeAmount-amount<0){
+                throw new RuntimeException("该刀具库存数量不足");
+            }
+            jdbcService.update("update a_knives_store set store_amount=store_amount - ? where parent_id=?",amount,parentId);
+        }else{
+            if(one == null){
+                jdbcService.insert("INSERT INTO a_knives_store ( `parent_id`, `store_amount`) VALUES ( ?, ?)",parentId,amount);
+            }else{
+                jdbcService.update("update a_knives_store set store_amount=store_amount + ? where parent_id=?",amount,parentId);
+            }
+        }
+
+
+    }
+
     /**
      * 销售订单id
      * @param id

+ 3 - 0
src/main/java/com/imcs/admin/db/service/impl/MysqlJdbcServiceImpl.java

@@ -89,6 +89,7 @@ public class MysqlJdbcServiceImpl extends MysqlJdbcDaoImpl implements JdbcServic
         if(obj == null){
             return;
         }
+        Long userId = SessionContext.getSession().getUserId();
         Result<TableInfo> tableInfo = tableService.get(tableName);
         if(!tableInfo.isSuccess()){
             throw new RuntimeException("找不到表:"+tableName);
@@ -100,11 +101,13 @@ public class MysqlJdbcServiceImpl extends MysqlJdbcDaoImpl implements JdbcServic
         }
         obj.computeIfAbsent("updatedAt", k -> new Date());
         obj.computeIfAbsent("createdAt", k -> new Date());
+        obj.computeIfAbsent("createdBy", k -> userId);
         // List<String> columns = columnInfos.stream().map(columnInfo -> columnInfo.getColumnName()).collect(Collectors.toList());
         List<String> columns = columnInfos.stream().filter(
                 columnInfo -> obj.containsKey(StringUtil.toFieldColumn(columnInfo.getColumnName()))
                               || "updated_at".equals(columnInfo.getColumnName())
                               || "created_at".equals(columnInfo.getColumnName())
+                              || "created_by".equals(columnInfo.getColumnName())
                                                           ).map(ColumnInfo::getColumnName).collect(Collectors.toList());
         List<String> args = columns.stream().map(columnInfo -> "?").collect(Collectors.toList());
         String sql = StrUtil.format("insert into {} ({}) values ({})",table.getTableName(),StringUtil.concatStr(columns,","),StringUtil.concatStr(args,","));