Index: ssts-web/src/test/java/test/forgon/disinfectsystem/application/AllTests.java =================================================================== diff -u -r26309 -r41384 --- ssts-web/src/test/java/test/forgon/disinfectsystem/application/AllTests.java (.../AllTests.java) (revision 26309) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/application/AllTests.java (.../AllTests.java) (revision 41384) @@ -16,6 +16,7 @@ * @author Terry Kwan * 2019-04-05 */ +import test.forgon.disinfectsystem.application.service.UpdatePackingTaskDepartmentInfoTests; @RunWith(Suite.class) @SuiteClasses({ TestCustomRecyclingApplication.class, // TestDisinfectGoodRecyclingApplication.class,//暂时注释 @@ -28,6 +29,7 @@ InvoicePlanPrintByApplyNumberTests.class, InvoicePlanPrintByRecyclingNumberTests.class, RecyclingApplicationManagerTests.class, + UpdatePackingTaskDepartmentInfoTests.class, RecyclingApplicationTableManagerTests.class}) public class AllTests { Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r40810 -r41384 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 40810) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 41384) @@ -4601,8 +4601,100 @@ RecyclingItem.class.getSimpleName(), sql); return items; } - @Override + public void updatePackingTask(RecyclingApplication recyclingApplication, RecyclingApplicationVo oldRecyclingApplication) { + if (!isValidForUpdate(recyclingApplication, oldRecyclingApplication)) { + return; + } + + if (isDepartmentInfoChanged(recyclingApplication, oldRecyclingApplication)) { + updatePackingTaskDepartmentInfo(recyclingApplication, oldRecyclingApplication); + } + } + /** + * 是否修改已存在的申请单 + * @param recyclingApplication + * @param oldRecyclingApplication + * @return + */ + private boolean isValidForUpdate(RecyclingApplication recyclingApplication, RecyclingApplicationVo oldRecyclingApplication) { + return oldRecyclingApplication != null + && DatabaseUtil.isPoIdValid(oldRecyclingApplication.getId()) + && DatabaseUtil.isPoIdValid(recyclingApplication.getId()); + } + /** + * 部门信息是否被修改 + * @param recyclingApplication + * @param oldRecyclingApplication + * @return + */ + private boolean isDepartmentInfoChanged(RecyclingApplication recyclingApplication, RecyclingApplicationVo oldRecyclingApplication) { + return !StringUtils.equals(recyclingApplication.getDepartCoding(), oldRecyclingApplication.getDepartCoding()) + || !StringUtils.equals(recyclingApplication.getSettleAccountsDepartCoding(), oldRecyclingApplication.getSettleAccountsDepartCoding()); + } + /** + * 修改装配任务的部门信息 + * @param recyclingApplication 修改后申请单 + * @param oldRecyclingApplication 修改前申请单 + */ + private void updatePackingTaskDepartmentInfo(RecyclingApplication recyclingApplication, RecyclingApplicationVo oldRecyclingApplication) { + List updateFields = new ArrayList<>(); + List params = new ArrayList(); + + // 构建更新字段和参数 + buildUpdateFieldsAndParams(recyclingApplication, updateFields, params, oldRecyclingApplication); + + if (!updateFields.isEmpty()) { + String sql = buildUpdateSql(updateFields); + executeUpdatePackingTask(sql, params, recyclingApplication.getId()); + } + } + /** + * 构建要修改的字段和参数 + * @param recyclingApplication 修改后申请单 + * @param updateFields 要修改的字段 + * @param params 参数 + * @param oldRecyclingApplication 修改前申请单 + */ + private void buildUpdateFieldsAndParams(RecyclingApplication recyclingApplication, + List updateFields, + List params, RecyclingApplicationVo oldRecyclingApplication) { + + if (!StringUtils.equals(recyclingApplication.getDepartCoding(), oldRecyclingApplication.getDepartCoding())) { + updateFields.add("departCoding = ?"); + updateFields.add("department = ?"); + params.add(recyclingApplication.getDepartCoding()); + params.add(recyclingApplication.getDepart()); + } + + if (!StringUtils.equals(recyclingApplication.getSettleAccountsDepartCoding(), oldRecyclingApplication.getSettleAccountsDepartCoding())) { + updateFields.add("settleAccountsDepartCoding = ?"); + params.add(recyclingApplication.getSettleAccountsDepartCoding()); + } + } + /** + * 修改装配任务的sql + * @param updateFields 要修改的字段 + * @return + */ + private String buildUpdateSql(List updateFields) { + return "UPDATE " + PackingTask.class.getSimpleName() + + " SET " + String.join(", ", updateFields) + + " WHERE sourceId = ? AND taskType = ?"; + } + /** + * 修改装配任务 + * @param sql 修改语句 + * @param params 参数 + * @param sourceId sourceId + */ + private void executeUpdatePackingTask(String sql, List params, Long sourceId) { + // 使用预编译语句执行更新 + params.add(sourceId); + params.add(PackingTask.TASK_APPLICATION); + objectDao.executeHQL(sql, params.toArray()); + } + @Override public JSONObject submitRecyclingApplication(RecyclingApplication recyclingApplication,RecyclingApplicationVo oldRecyclingApplication,boolean committedStatus, String isInterveneAmount,String specifyDisposableTypes,String appGoodsStr,String tousseInstanceInfos,boolean autoReturnTheBorrowingTousse, boolean allowBorrowingTousseExceedingSpecifiedQuantity, boolean allowBorrowingTousseExceedingCardinalNum) throws RecyclingRecordException { @@ -4654,6 +4746,7 @@ "保存申请单:recyclingApplication=" + JSONUtil.toJsonObjecttWithSimpleProperty(recyclingApplication) + ",tousseItems=" + JSONUtil.toJsonArraytWithSimpleProperty(srcTousseItemVoList)); } + updatePackingTask(recyclingApplication, oldRecyclingApplication); } else { throw new SystemException("此申请单数据异常,请联系系统管理员!"); } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/application/service/UpdatePackingTaskDepartmentInfoTests.java =================================================================== diff -u --- ssts-web/src/test/java/test/forgon/disinfectsystem/application/service/UpdatePackingTaskDepartmentInfoTests.java (revision 0) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/application/service/UpdatePackingTaskDepartmentInfoTests.java (revision 41384) @@ -0,0 +1,414 @@ +package test.forgon.disinfectsystem.application.service; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; + +import java.lang.reflect.Method; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import com.forgon.disinfectsystem.entity.packing.PackingTask; +import com.forgon.disinfectsystem.entity.recyclingapplication.RecyclingApplication; +import com.forgon.disinfectsystem.recyclingapplication.service.RecyclingApplicationManagerImpl; +import com.forgon.disinfectsystem.vo.RecyclingApplicationVo; +import com.forgon.tools.hibernate.ObjectDao; +/** + * 部门信息被修改时 联动修改装配任务的部门信息 + * + */ +public class UpdatePackingTaskDepartmentInfoTests { + @InjectMocks + private RecyclingApplicationManagerImpl recyclingApplicationManagerImpl; // 替换为包含这些方法的类名 + + @Mock + private ObjectDao objectDao; + + @Mock + private ResultSet resultSet; + private AutoCloseable closeable; + @Before + public void setUp() { + closeable = MockitoAnnotations.openMocks(this); + } + @After + public void tearDown() throws Exception { + closeable.close(); + } + + // 测试 updatePackingTask 方法 + + @Test + public void testUpdatePackingTask_ValidUpdateNoDepartmentChange() { + // 准备测试数据 - 部门信息没有变化 + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setId(1L); + recyclingApplication.setDepartCoding("SAME_DEPT"); + recyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setId(1L); + oldRecyclingApplication.setDepartCoding("SAME_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + // 执行测试 + recyclingApplicationManagerImpl.updatePackingTask(recyclingApplication, oldRecyclingApplication); + + // 验证没有执行更新操作 + verify(objectDao, never()).executeHQL(anyString(), any(Object[].class)); + } + + // 测试私有方法 isValidForUpdate + + @Test + public void testIsValidForUpdate_ValidCase() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isValidForUpdate", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setId(1L); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setId(1L); + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, oldRecyclingApplication); + + // 验证返回 true + assertTrue(result); + } + + @Test + public void testIsValidForUpdate_NullOldRecyclingApplication() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isValidForUpdate", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setId(1L); + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, null); + + // 验证返回 false + assertFalse(result); + } + + @Test + public void testIsValidForUpdate_InvalidRecyclingApplicationId() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isValidForUpdate", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setId(0L); // 无效ID + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setId(1L); + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, oldRecyclingApplication); + + // 验证返回 false + assertFalse(result); + } + + @Test + public void testIsValidForUpdate_InvalidOldRecyclingApplicationId() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isValidForUpdate", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setId(1L); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setId(0L); // 无效ID + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, oldRecyclingApplication); + + // 验证返回 false + assertFalse(result); + } + + // 测试私有方法 isDepartmentInfoChanged + + @Test + public void testIsDepartmentInfoChanged_DepartCodingChanged() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isDepartmentInfoChanged", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setDepartCoding("NEW_DEPT"); + recyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setDepartCoding("OLD_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, oldRecyclingApplication); + + // 验证返回 true + assertTrue(result); + } + + @Test + public void testIsDepartmentInfoChanged_SettleAccountsDepartCodingChanged() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isDepartmentInfoChanged", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setDepartCoding("SAME_DEPT"); + recyclingApplication.setSettleAccountsDepartCoding("NEW_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setDepartCoding("SAME_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("OLD_SETTLE_DEPT"); + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, oldRecyclingApplication); + + // 验证返回 true + assertTrue(result); + } + + @Test + public void testIsDepartmentInfoChanged_BothChanged() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isDepartmentInfoChanged", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setDepartCoding("NEW_DEPT"); + recyclingApplication.setSettleAccountsDepartCoding("NEW_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setDepartCoding("OLD_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("OLD_SETTLE_DEPT"); + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, oldRecyclingApplication); + + // 验证返回 true + assertTrue(result); + } + + @Test + public void testIsDepartmentInfoChanged_NoChanges() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("isDepartmentInfoChanged", RecyclingApplication.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setDepartCoding("SAME_DEPT"); + recyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setDepartCoding("SAME_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + // 执行测试 + boolean result = (Boolean) method.invoke(recyclingApplicationManagerImpl, recyclingApplication, oldRecyclingApplication); + + // 验证返回 false + assertFalse(result); + } + + // 测试私有方法 buildUpdateFieldsAndParams + + @Test + public void testBuildUpdateFieldsAndParams_DepartCodingChanged() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("buildUpdateFieldsAndParams", + RecyclingApplication.class, List.class, List.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setDepartCoding("NEW_DEPT"); + recyclingApplication.setDepart("新部门"); + recyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setDepartCoding("OLD_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("SAME_SETTLE_DEPT"); + + List updateFields = new ArrayList<>(); + List params = new ArrayList<>(); + + // 执行测试 + method.invoke(recyclingApplicationManagerImpl, recyclingApplication, updateFields, params, oldRecyclingApplication); + + // 验证更新字段和参数 + assertEquals(2, updateFields.size()); + assertTrue(updateFields.contains("departCoding = ?")); + assertTrue(updateFields.contains("department = ?")); + assertEquals(2, params.size()); + assertEquals("NEW_DEPT", params.get(0)); + assertEquals("新部门", params.get(1)); + } + + @Test + public void testBuildUpdateFieldsAndParams_SettleAccountsDepartCodingChanged() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("buildUpdateFieldsAndParams", + RecyclingApplication.class, List.class, List.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setDepartCoding("SAME_DEPT"); + recyclingApplication.setSettleAccountsDepartCoding("NEW_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setDepartCoding("SAME_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("OLD_SETTLE_DEPT"); + + List updateFields = new ArrayList<>(); + List params = new ArrayList<>(); + + // 执行测试 + method.invoke(recyclingApplicationManagerImpl, recyclingApplication, updateFields, params, oldRecyclingApplication); + + // 验证更新字段和参数 + assertEquals(1, updateFields.size()); + assertTrue(updateFields.contains("settleAccountsDepartCoding = ?")); + assertEquals(1, params.size()); + assertEquals("NEW_SETTLE_DEPT", params.get(0)); + } + + @Test + public void testBuildUpdateFieldsAndParams_BothChanged() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("buildUpdateFieldsAndParams", + RecyclingApplication.class, List.class, List.class, RecyclingApplicationVo.class); + method.setAccessible(true); + + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setDepartCoding("NEW_DEPT"); + recyclingApplication.setDepart("新部门"); + recyclingApplication.setSettleAccountsDepartCoding("NEW_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setDepartCoding("OLD_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("OLD_SETTLE_DEPT"); + + List updateFields = new ArrayList<>(); + List params = new ArrayList<>(); + + // 执行测试 + method.invoke(recyclingApplicationManagerImpl, recyclingApplication, updateFields, params, oldRecyclingApplication); + + // 验证更新字段和参数 + assertEquals(3, updateFields.size()); + assertTrue(updateFields.contains("departCoding = ?")); + assertTrue(updateFields.contains("department = ?")); + assertTrue(updateFields.contains("settleAccountsDepartCoding = ?")); + assertEquals(3, params.size()); + assertEquals("NEW_DEPT", params.get(0)); + assertEquals("新部门", params.get(1)); + assertEquals("NEW_SETTLE_DEPT", params.get(2)); + } + + // 测试私有方法 buildUpdateSql + + @Test + public void testBuildUpdateSql() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("buildUpdateSql", List.class); + method.setAccessible(true); + + List updateFields = Arrays.asList("departCoding = ?", "department = ?"); + + // 执行测试 + String result = (String) method.invoke(recyclingApplicationManagerImpl, updateFields); + + // 验证生成的 SQL + assertNotNull(result); + assertTrue(result.contains("UPDATE PackingTask")); + assertTrue(result.contains("SET departCoding = ?, department = ?")); + assertTrue(result.contains("WHERE sourceId = ? AND taskType = ?")); + } + + // 测试私有方法 executeUpdatePackingTask + + @Test + public void testExecuteUpdatePackingTask() throws Exception { + // 使用反射测试私有方法 + Method method = recyclingApplicationManagerImpl.getClass().getDeclaredMethod("executeUpdatePackingTask", + String.class, List.class, Long.class); + method.setAccessible(true); + + String sql = "UPDATE PackingTask SET departCoding = ? WHERE sourceId = ? AND taskType = ?"; + List params = new ArrayList<>(); + params.add("NEW_DEPT"); + Long sourceId = 1L; + + // 执行测试 + method.invoke(recyclingApplicationManagerImpl, sql, params, sourceId); + + // 验证执行了 HQL + verify(objectDao).executeHQL(sql, params.toArray()); + // 验证参数正确添加 + assertEquals(3, params.size()); + assertEquals("NEW_DEPT", params.get(0)); + assertEquals(1L, params.get(1)); + assertEquals(PackingTask.TASK_APPLICATION, params.get(2)); + } + + // 集成测试 - 测试完整的流程 + + @Test + public void testUpdatePackingTask_CompleteFlow() { + // 准备测试数据 - 部门编码和结算部门编码都改变 + RecyclingApplication recyclingApplication = new RecyclingApplication(); + recyclingApplication.setId(1L); + recyclingApplication.setDepartCoding("NEW_DEPT"); + recyclingApplication.setDepart("新部门"); + recyclingApplication.setSettleAccountsDepartCoding("NEW_SETTLE_DEPT"); + + RecyclingApplicationVo oldRecyclingApplication = new RecyclingApplicationVo(); + oldRecyclingApplication.setId(1L); + oldRecyclingApplication.setDepartCoding("OLD_DEPT"); + oldRecyclingApplication.setSettleAccountsDepartCoding("OLD_SETTLE_DEPT"); + + // 执行测试 + recyclingApplicationManagerImpl.updatePackingTask(recyclingApplication, oldRecyclingApplication); + + // 使用参数捕获器来验证 - 修正参数类型 + ArgumentCaptor sqlCaptor = ArgumentCaptor.forClass(String.class); + + // 根据实际方法签名使用正确的参数类型 + // 如果 executeHQL 接受可变参数,使用 ArgumentCaptor.forClass(Object.class) 并捕获多个参数 + verify(objectDao).executeHQL(sqlCaptor.capture(), + eq("NEW_DEPT"), eq("新部门"), eq("NEW_SETTLE_DEPT"), eq(1L), eq(PackingTask.TASK_APPLICATION)); + + // 验证 SQL + String sql = sqlCaptor.getValue(); + assertNotNull(sql); + assertTrue(sql.contains("UPDATE PackingTask")); + assertTrue(sql.contains("departCoding = ?")); + assertTrue(sql.contains("department = ?")); + assertTrue(sql.contains("settleAccountsDepartCoding = ?")); + assertTrue(sql.contains("WHERE sourceId = ? AND taskType = ?")); + } +} Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java =================================================================== diff -u -r40612 -r41384 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 40612) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 41384) @@ -755,5 +755,10 @@ * @param syncDateTime 同步时间 */ public void syncThirdPartyChargeRecord(ThirdPartyChargeRecordVo thirdPartyChargeRecordVo,Date syncDateTime); - + /** + * 部门信息被修改时 联动修改装配任务的部门信息 + * @param recyclingApplication + * @param oldRecyclingApplication + */ + public void updatePackingTask(RecyclingApplication recyclingApplication, RecyclingApplicationVo oldRecyclingApplication); }