From b231e345300e34c9c918cbd7e2db44d334eb4937 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期六, 28 六月 2025 21:55:44 +0800
Subject: [PATCH] 供应商管理、线边库管理、产线人员绑定

---
 src/main/java/org/jeecg/modules/base/entity/ShiftGroup.java                      |    3 
 src/main/java/org/jeecg/modules/system/vo/SysUserFactoryVO.java                  |   31 +++++++
 src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java      |   12 +++
 src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml              |    8 ++
 src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java |   16 ++++
 src/main/java/org/jeecg/modules/base/controller/SupplierController.java          |   17 ++++
 src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java               |    8 +
 src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java                 |    9 ++
 src/main/java/org/jeecg/modules/system/controller/SysUserController.java         |   96 ++++++++++++++++++++++++
 src/main/java/org/jeecg/modules/system/service/ISysUserService.java              |    9 ++
 src/main/java/org/jeecg/modules/base/entity/UserFactory.java                     |    2 
 src/main/java/org/jeecg/modules/base/model/FactoryTreeModel.java                 |    3 
 12 files changed, 212 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java b/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java
index 91d186c..5b055e6 100644
--- a/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java
+++ b/src/main/java/org/jeecg/modules/base/controller/LineSideWarehouseController.java
@@ -10,9 +10,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.base.entity.LineSideWarehouse;
+import org.jeecg.modules.base.entity.Supplier;
 import org.jeecg.modules.base.service.ILineSideWarehouseService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -174,4 +176,18 @@
         return super.importExcel(request, response, LineSideWarehouse.class);
     }
 
+	 @AutoLog(value = "绾胯竟搴�-鍚敤&绂佺敤")
+	 @ApiOperation(value = "绾胯竟搴�-鍚敤&绂佺敤", notes = "绾胯竟搴�-鍚敤&绂佺敤")
+	 @PutMapping(value = "/active")
+	 public Result<?> active(@RequestParam(name = "id", required = true) String id) {
+		 LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.getById(id);
+		 if (CommonConstant.STATUS_1.equals(lineSideWarehouse.getWarehouseStatus())) {
+			 lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_0);
+		 } else {
+			 lineSideWarehouse.setWarehouseStatus(CommonConstant.STATUS_1);
+		 }
+		 lineSideWarehouseService.updateById(lineSideWarehouse);
+		 return Result.ok("鎿嶄綔鎴愬姛锛�");
+	 }
+
 }
diff --git a/src/main/java/org/jeecg/modules/base/controller/SupplierController.java b/src/main/java/org/jeecg/modules/base/controller/SupplierController.java
index 32a2574..4e4a9ac 100644
--- a/src/main/java/org/jeecg/modules/base/controller/SupplierController.java
+++ b/src/main/java/org/jeecg/modules/base/controller/SupplierController.java
@@ -10,6 +10,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.base.entity.Supplier;
@@ -83,6 +84,7 @@
 	//@RequiresPermissions("org.jeecg.modules:base_supplier:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody Supplier supplier) {
+		supplier.setSupplierStatus(CommonConstant.STATUS_1);
 		supplierService.save(supplier);
 		return Result.OK("娣诲姞鎴愬姛锛�");
 	}
@@ -174,4 +176,19 @@
         return super.importExcel(request, response, Supplier.class);
     }
 
+
+	 @AutoLog(value = "渚涘簲鍟�-鍚敤&绂佺敤")
+	 @ApiOperation(value = "渚涘簲鍟�-鍚敤&绂佺敤", notes = "渚涘簲鍟�-鍚敤&绂佺敤")
+	 @PutMapping(value = "/active")
+	 public Result<?> active(@RequestParam(name = "id", required = true) String id) {
+		 Supplier supplier = supplierService.getById(id);
+		 if (CommonConstant.STATUS_1.equals(supplier.getSupplierStatus())) {
+			 supplier.setSupplierStatus(CommonConstant.STATUS_0);
+		 } else {
+			 supplier.setSupplierStatus(CommonConstant.STATUS_1);
+		 }
+		 supplierService.updateById(supplier);
+		 return Result.ok("鎿嶄綔鎴愬姛锛�");
+	 }
+
 }
diff --git a/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java b/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java
index da8196d..66d46d2 100644
--- a/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java
+++ b/src/main/java/org/jeecg/modules/base/entity/LineSideWarehouse.java
@@ -10,6 +10,7 @@
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.common.constant.CommonConstant;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.jeecg.common.aspect.annotation.Dict;
@@ -56,7 +57,7 @@
 	@Excel(name = "鍒犻櫎鏍囪", width = 15)
     @ApiModelProperty(value = "鍒犻櫎鏍囪")
     @TableLogic
-    private Integer delFlag;
+    private Integer delFlag = CommonConstant.DEL_FLAG_0;
 	/**浠撳簱缂栫爜*/
 	@Excel(name = "浠撳簱缂栫爜", width = 15)
     @ApiModelProperty(value = "浠撳簱缂栫爜")
@@ -65,8 +66,13 @@
 	@Excel(name = "浠撳簱鍚嶇О", width = 15)
     @ApiModelProperty(value = "浠撳簱鍚嶇О")
     private String warehouseName;
+    /**浠撳簱鐘舵��*/
+    @Excel(name = "浠撳簱鐘舵��", width = 15)
+    @ApiModelProperty(value = "浠撳簱鐘舵��")
+    private String warehouseStatus;
 	/**宸ュ巶/浜х嚎ID*/
 	@Excel(name = "宸ュ巶/浜х嚎ID", width = 15)
     @ApiModelProperty(value = "宸ュ巶/浜х嚎ID")
+    @Dict(dictTable = "base_factory", dicCode = "id", dicText = "factory_name")
     private String factoryId;
 }
diff --git a/src/main/java/org/jeecg/modules/base/entity/ShiftGroup.java b/src/main/java/org/jeecg/modules/base/entity/ShiftGroup.java
index 53c0e80..c2efe6d 100644
--- a/src/main/java/org/jeecg/modules/base/entity/ShiftGroup.java
+++ b/src/main/java/org/jeecg/modules/base/entity/ShiftGroup.java
@@ -69,6 +69,7 @@
 	/**鐝粍闀�*/
 	@Excel(name = "鐝粍闀�", width = 15)
     @ApiModelProperty(value = "鐝粍闀�")
+    @Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
     private String groupManager;
 	/**鐘舵��*/
 	@Excel(name = "鐘舵��", width = 15)
@@ -77,10 +78,12 @@
 	/**鐝ID*/
 	@Excel(name = "鐝ID", width = 15)
     @ApiModelProperty(value = "鐝ID")
+    @Dict(dictTable = "base_shift", dicCode = "id", dicText = "shift_name")
     private String shiftId;
 	/**宸ュ巶/杞﹂棿/浜х嚎ID*/
 	@Excel(name = "宸ュ巶/杞﹂棿/浜х嚎ID", width = 15)
     @ApiModelProperty(value = "宸ュ巶/杞﹂棿/浜х嚎ID")
+    @Dict(dictTable = "base_factory", dicCode = "id", dicText = "factory_name")
     private String factoryId;
 	/**澶囨敞*/
 	@Excel(name = "澶囨敞", width = 15)
diff --git a/src/main/java/org/jeecg/modules/base/entity/UserFactory.java b/src/main/java/org/jeecg/modules/base/entity/UserFactory.java
index c1802f5..43bd4d3 100644
--- a/src/main/java/org/jeecg/modules/base/entity/UserFactory.java
+++ b/src/main/java/org/jeecg/modules/base/entity/UserFactory.java
@@ -53,7 +53,7 @@
     @ApiModelProperty(value = "宸ュ巶/杞﹂棿/浜х嚎ID")
     private String factoryId;
 
-    public UserFactory(String id, String factoryId) {
+    public UserFactory(String factoryId, String id) {
         this.userId = id;
         this.factoryId = factoryId;
     }
diff --git a/src/main/java/org/jeecg/modules/base/model/FactoryTreeModel.java b/src/main/java/org/jeecg/modules/base/model/FactoryTreeModel.java
index 8138de7..2adb268 100644
--- a/src/main/java/org/jeecg/modules/base/model/FactoryTreeModel.java
+++ b/src/main/java/org/jeecg/modules/base/model/FactoryTreeModel.java
@@ -58,6 +58,8 @@
 
     private String factoryCode;
 
+    private String factoryCategory;
+
     private String remark;
 
     private Integer delFlag;
@@ -100,5 +102,6 @@
         this.updateBy = factory.getUpdateBy();
         this.updateTime = factory.getUpdateTime();
         this.mdcFlag = factory.getMdcFlag();
+        this.factoryCategory = factory.getFactoryCategory();
     }
 }
diff --git a/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
index b1de9f0..a438754 100644
--- a/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
+++ b/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -25,6 +25,7 @@
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.*;
+import org.jeecg.modules.base.entity.UserFactory;
 import org.jeecg.modules.base.entity.UserGroup;
 import org.jeecg.modules.base.service.BaseCommonService;
 import org.jeecg.modules.base.service.IUserFactoryService;
@@ -35,6 +36,7 @@
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecg.modules.system.service.*;
 import org.jeecg.modules.system.vo.SysDepartUsersVO;
+import org.jeecg.modules.system.vo.SysUserFactoryVO;
 import org.jeecg.modules.system.vo.SysUserGroupVO;
 import org.jeecg.modules.system.vo.SysUserRoleVO;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -1690,4 +1692,98 @@
         return result;
     }
 
+    @RequestMapping(value = "/userFactoryList", method = RequestMethod.GET)
+    public Result<IPage<SysUser>> userFactoryList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
+        Result<IPage<SysUser>> result = new Result<IPage<SysUser>>();
+        Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
+        String factoryId = req.getParameter("factoryId");
+        String username = req.getParameter("username");
+        IPage<SysUser> pageList = sysUserService.getUserByFactoryId(page, factoryId, username);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 缁欐寚瀹氫骇绾挎坊鍔犱汉鍛�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/addBaseUserFactory", method = RequestMethod.POST)
+    public Result<String> addBaseUserFactory(@RequestBody SysUserFactoryVO sysUserFactoryVO) {
+        Result<String> result = new Result<String>();
+        try {
+            String factoryId = sysUserFactoryVO.getFactoryId();
+            for (String userId : sysUserFactoryVO.getUserIdList()) {
+                UserFactory userFactory = new UserFactory(factoryId,userId);
+                QueryWrapper<UserFactory> queryWrapper = new QueryWrapper<UserFactory>();
+                queryWrapper.eq("factory_id", factoryId).eq("user_id", userId);
+                UserFactory one = userFactoryService.getOne(queryWrapper);
+                if (one == null) {
+                    userFactoryService.save(userFactory);
+                }
+
+            }
+            result.setMessage("娣诲姞鎴愬姛!");
+            result.setSuccess(true);
+            return result;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.setSuccess(false);
+            result.setMessage("鍑洪敊浜�: " + e.getMessage());
+            return result;
+        }
+    }
+
+    /**
+     * 鍒犻櫎鎸囧畾浜х嚎鐨勪汉鍛樺叧绯�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/deleteUserFactory", method = RequestMethod.DELETE)
+    public Result<UserFactory> deleteUserFactory(@RequestParam(name = "factoryId") String factoryId,
+                                             @RequestParam(name = "userId", required = true) String userId
+    ) {
+        Result<UserFactory> result = new Result<UserFactory>();
+        try {
+            QueryWrapper<UserFactory> queryWrapper = new QueryWrapper<UserFactory>();
+            queryWrapper.eq("factory_id", factoryId).eq("user_id", userId);
+            userFactoryService.remove(queryWrapper);
+            result.success("鍒犻櫎鎴愬姛!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("鍒犻櫎澶辫触锛�");
+        }
+        return result;
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鎸囧畾浜х嚎鐨勪汉鍛樺叧绯�
+     *
+     * @param
+     * @return
+     */
+    //@RequiresRoles({"admin"})
+    @RequestMapping(value = "/deleteUserFactoryBatch", method = RequestMethod.DELETE)
+    public Result<UserFactory> deleteUserFactoryBatch(
+            @RequestParam(name = "factoryId") String factoryId,
+            @RequestParam(name = "userIds", required = true) String userIds) {
+        Result<UserFactory> result = new Result<UserFactory>();
+        try {
+            QueryWrapper<UserFactory> queryWrapper = new QueryWrapper<UserFactory>();
+            queryWrapper.eq("factory_id", factoryId).in("user_id", Arrays.asList(userIds.split(",")));
+            userFactoryService.remove(queryWrapper);
+            result.success("鍒犻櫎鎴愬姛!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("鍒犻櫎澶辫触锛�");
+        }
+        return result;
+    }
+
 }
diff --git a/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java b/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
index da8346a..26f852e 100644
--- a/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
+++ b/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
@@ -197,4 +197,13 @@
 	 * @return
 	 */
 	IPage<SysUser> getUserByGroupId(Page page, @Param("groupId") String groupId, @Param("username") String username);
+
+	/**
+	 * 鏍规嵁浜х嚎Id鏌ヨ鐢ㄦ埛淇℃伅
+	 * @param page
+	 * @param factoryId 浜х嚎id
+	 * @param username 鐢ㄦ埛鐧诲綍璐︽埛
+	 * @return
+	 */
+	IPage<SysUser> getUserByFactoryId(Page page, @Param("factoryId") String factoryId, @Param("username") String username);
 }
diff --git a/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml b/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
index e646445..3cd3bec 100644
--- a/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
+++ b/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
@@ -236,4 +236,12 @@
 			and username = #{username}
 		</if>
 	</select>
+
+	<!-- 鏍规嵁浜х嚎Id鏌ヨ -->
+	<select id="getUserByFactoryId" resultType="org.jeecg.modules.system.entity.SysUser">
+		select * from sys_user where del_flag = 0 and id in (select user_id from base_user_factory where factory_id=#{factoryId})
+		<if test="username!=null and username!=''">
+			and username = #{username}
+		</if>
+	</select>
 </mapper>
diff --git a/src/main/java/org/jeecg/modules/system/service/ISysUserService.java b/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
index a2cf793..3ab96db 100644
--- a/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
+++ b/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
@@ -354,4 +354,13 @@
 	 * @return
 	 */
 	IPage<SysUser> getUserByGroupId(Page<SysUser> page, String groupId, String username);
+
+	/**
+	 * 鏍规嵁浜х嚎Id鏌ヨ
+	 * @param page
+	 * @param factoryId 浜х嚎id
+	 * @param username 鐢ㄦ埛璐︽埛鍚嶇О
+	 * @return
+	 */
+	IPage<SysUser> getUserByFactoryId(Page<SysUser> page, String factoryId, String username);
 }
diff --git a/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java b/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
index 89a4838..caebf76 100644
--- a/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
+++ b/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -818,4 +818,16 @@
 	public IPage<SysUser> getUserByGroupId(Page<SysUser> page, String groupId, String username) {
 		return userMapper.getUserByGroupId(page,groupId,username);
 	}
+
+	/**
+	 * 鏍规嵁浜х嚎Id鏌ヨ
+	 * @param page
+	 * @param factoryId 鐝粍id
+	 * @param username 鐢ㄦ埛璐︽埛鍚嶇О
+	 * @return
+	 */
+	@Override
+	public IPage<SysUser> getUserByFactoryId(Page<SysUser> page, String factoryId, String username) {
+		return userMapper.getUserByFactoryId(page,factoryId,username);
+	}
 }
diff --git a/src/main/java/org/jeecg/modules/system/vo/SysUserFactoryVO.java b/src/main/java/org/jeecg/modules/system/vo/SysUserFactoryVO.java
new file mode 100644
index 0000000..d38bca3
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/system/vo/SysUserFactoryVO.java
@@ -0,0 +1,31 @@
+package org.jeecg.modules.system.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 浜х嚎浜哄憳vo
+ * @author: jeecg-boot
+ */
+@Data
+public class SysUserFactoryVO implements Serializable{
+	private static final long serialVersionUID = 1L;
+
+	/**浜х嚎id*/
+	private String factoryId;
+	/**瀵瑰簲鐨勭敤鎴穒d闆嗗悎*/
+	private List<String> userIdList;
+
+	public SysUserFactoryVO() {
+		super();
+	}
+
+	public SysUserFactoryVO(String factoryId, List<String> userIdList) {
+		super();
+		this.factoryId = factoryId;
+		this.userIdList = userIdList;
+	}
+
+}

--
Gitblit v1.9.3