浏览代码

Merge remote-tracking branch 'origin/20241216临时分支-包含修改投产周转外协工序单价等' into 20241216临时分支-包含修改投产周转外协工序单价等

guoyujia 5 月之前
父节点
当前提交
03532d5c1b

+ 23 - 9
src/main/java/cn/ezhizao/project/business/controller/BizDayworkController.java

@@ -425,11 +425,11 @@ public class BizDayworkController extends BaseController {
             } else {
                 lastProcessStepNumber = bizTechnologicalProcessDetailService.query()
                         .eq("technological_process_id", bizDaywork.getTechnologicalProcessId())
-                        .ne("tenant_id", 9).orderByDesc("process_step_number").list().get(0).getProcessStepNumber();
+                        .ne("tenant_id", 9).orderByDesc("process_step_number").list().stream().findFirst().orElse(new BizTechnologicalProcessDetail()).getProcessStepNumber();
                 firstProcessStepNumber = bizTechnologicalProcessDetailService.query()
                         .ne("process_key", "BL")
                         .eq("technological_process_id", bizDaywork.getTechnologicalProcessId())
-                        .ne("tenant_id", 9).orderByAsc("process_step_number").list().get(0).getProcessStepNumber();
+                        .ne("tenant_id", 9).orderByAsc("process_step_number").list().stream().findFirst().orElse(new BizTechnologicalProcessDetail()).getProcessStepNumber();
             }
             map.put("lastProcessStepNumber", lastProcessStepNumber);
             map.put("isFirst", firstProcessStepNumber);
@@ -1478,25 +1478,39 @@ public class BizDayworkController extends BaseController {
     }
     @GetMapping("/getAllWorkShop")
     @Log(title = "获取所有车间和周转区", businessType = BusinessType.SELECT)
-    public AjaxResult getAllWorkShop() {
+    public AjaxResult getAllWorkShop(SysDept dept) {
         // 获取所有的车间和车间内工段
         List<BizWorkshop> workShopList = bizWorkshopService.query().list();
-        List<BizTurnover> bizTurnovers = bizTurnoverService.query().list();
-        List<BizWorkshopTurnover> bizWorkshopTurnovers = bizWorkshopTurnoverService.query().list();
+        List<BizTurnover> bizTurnovers = bizTurnoverService.query().eq("status", 0).list();
+        List<BizWorkshopTurnover> bizWorkshopTurnovers = bizWorkshopTurnoverService.query().eq("status", 0).list();
+
         SysDept conditions = new SysDept();
         conditions.setIsWorkSection(1);
         List<SysDept> depts = deptService.selectDeptList(conditions);
-        depts.forEach(l -> {
-            BizWorkshop bizWorkshop = workShopList.stream().filter(v -> v.getId().equals(l.getWorkshopId())).findFirst().orElse(null);
+        List<SysDept> departments = new ArrayList<>();
+        if (dept.getIsAmend() == 1 || dept.getIsWasteRecycling() == 1) {
+            BizLot bizLot = bizLotService.query().eq("id", dept.getLotId()).list().get(0);
+            dept.setLotTechnologicalProcessId(bizLot.getTechnologicalProcessId());
+            departments = deptService.selectDeptListByTechnologyWasteRecyclingId(dept);
+        } else {
+            departments = deptService.selectDeptListByPlanDetailsId(dept);
+        }
+        List<BizWorkshop> finalWorkShopList = workShopList;
+        departments.forEach(l -> {
+            BizWorkshop bizWorkshop = finalWorkShopList.stream().filter(v -> v.getId().equals(l.getWorkshopId())).findFirst().orElse(null);
             l.setWorkshopName(bizWorkshop == null ? null : bizWorkshop.getName());
             l.setTurnovers(bizTurnovers.stream().filter(v -> v.getDeptId().equals(l.getDeptId())).collect(Collectors.toList()));
         });
         workShopList.forEach(l -> {
             l.setTurnovers(bizWorkshopTurnovers.stream().filter(v -> v.getWorkshopId().equals(l.getId())).collect(Collectors.toList()));
         });
+        List<SysDept> finalDepartments = departments;
+        List<BizWorkshop> nextWorkShopList = workShopList.stream().filter(v -> finalDepartments.stream().anyMatch(e -> e.getWorkshopId().equals(v.getId()))).collect(Collectors.toList());
         Map<String, Object> map = new HashMap<>();
-        map.put("workshops", workShopList);
-        map.put("depts", depts);
+        map.put("workshops", nextWorkShopList);
+        map.put("allWorkshops", workShopList);
+        map.put("depts", departments);
+        map.put("allDepts", depts);
         return success(map);
     }
 }

+ 4 - 0
src/main/java/cn/ezhizao/project/business/controller/BizReturnTurnoverController.java

@@ -353,6 +353,8 @@ public class BizReturnTurnoverController extends BaseController
         newBizDayworkItem.setStartTime(new Date());
         newBizDayworkItem.setTurnoverType("2");
         newBizDayworkItem.setTurnoverArea("外协周转区");
+        newBizDayworkItem.setFromDeptId(lastDayworkItem.getDeptId());
+        newBizDayworkItem.setFromDeptName(lastDayworkItem.getDeptName());
         bizDayworkItemService.save(newBizDayworkItem);
         //修改daywork主表数据
 
@@ -493,6 +495,8 @@ public class BizReturnTurnoverController extends BaseController
             item.setStartTime(new Date());
             item.setTurnoverType("2");
             item.setTurnoverArea("外协周转区");
+            item.setFromDeptId(lastDayworkItem.getDeptId());
+            item.setFromDeptName(lastDayworkItem.getDeptName());
             addItems.add(item);
 
             //修改daywork主表数据

+ 3 - 0
src/main/java/cn/ezhizao/project/business/domain/BizDayworkItemHistory.java

@@ -130,4 +130,7 @@ public class BizDayworkItemHistory extends BaseEntity
     private Long fromDeptId;
     private String fromDeptName;
 
+    @TableField(exist = false)
+    private String status;
+
 }

+ 2 - 0
src/main/java/cn/ezhizao/project/system/domain/SysDept.java

@@ -135,6 +135,8 @@ public class SysDept extends BaseEntity {
     private Long lotTechnologicalProcessId;
     @TableField(exist = false)
     private Long userId;
+    @TableField(exist = false)
+    private String processStepNumber;
 
     public String getWorkshopName() {
         return workshopName;

+ 1 - 1
src/main/resources/mybatis/business/BizDayworkItemHistoryMapper.xml

@@ -10,7 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
     <select id="getList" parameterType="BizDayworkItemHistory" resultMap="BizDayworkItemHistoryResult">
-        SELECT t1.*, t2.process_alias, t3.nick_name as creatorName FROM biz_daywork_item_history t1 left join biz_process t2 on t1.process_id = t2.id left join sys_user t3 on t1.creator_id = t3.user_id
+        SELECT t1.*, t2.process_alias, t3.nick_name as creatorName, t4.status FROM biz_daywork_item_history t1 left join biz_process t2 on t1.process_id = t2.id left join sys_user t3 on t1.creator_id = t3.user_id left join biz_daywork_item t4 on t4.id = t1.daywork_item_id
         where t1.deleted = 0 and t2.deleted = 0 and t3.del_flag = 0 and t1.daywork_id = #{dayworkId} order by t1.create_time desc
     </select>
 

+ 7 - 2
src/main/resources/mybatis/system/SysDeptMapper.xml

@@ -80,7 +80,10 @@
 				 INNER JOIN
 			 (SELECT DISTINCT btwrd.process_id
 			  FROM biz_lot_technological_process_detail btwrd
-			  WHERE btwrd.lot_technological_process_id = #{lotTechnologicalProcessId}) AS m ON m.process_id = dp.process_id AND d.is_work_section = 1 AND d.tenant_id = #{tenantId}
+			  WHERE btwrd.lot_technological_process_id = #{lotTechnologicalProcessId}
+
+		<if test="processStepNumber != null"> and btwrd.process_step_number &gt; #{processStepNumber}</if>
+		) AS m ON m.process_id = dp.process_id AND d.is_work_section = 1 AND d.tenant_id = #{tenantId} and d.del_flag = '0' and d.dept_code != '170000'
 	</select>
 
 	<select id="selectDeptListByPlanDetailsId" resultType="cn.ezhizao.project.system.domain.SysDept">
@@ -92,7 +95,9 @@
 			  FROM biz_technological_process_detail btpd
 					   INNER JOIN biz_production_plan_detail bppd
 								  ON bppd.technological_process_id = btpd.technological_process_id
-			  WHERE bppd.id = #{productionPlanDetailId} and btpd.tenant_id !=9) AS m ON m.process_id = dp.process_id AND d.is_work_section = 1 AND d.tenant_id = #{tenantId}
+			  WHERE bppd.id = #{productionPlanDetailId} and btpd.tenant_id !=9
+		<if test="processStepNumber != null"> and btpd.process_step_number &gt; #{processStepNumber}</if>
+		) AS m ON m.process_id = dp.process_id AND d.is_work_section = 1 AND d.tenant_id = #{tenantId} and d.del_flag = '0' and d.dept_code != '170000'
 	</select>
 	<select id="getWXDeptInfo" resultType="cn.ezhizao.project.system.domain.SysDept">
 		select * from sys_dept where del_flag = '0' and dept_code = '170000'