From da4cb0bcbb9c35105afe449b31b3e2b03828d5d2 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 06 十二月 2023 11:32:29 +0800 Subject: [PATCH] 6 --- zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java | 1 zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java | 6 zt/core/src/main/java/com/zt/modules/sys/service/SysRoleUserService.java | 1 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java | 16 + web/src/views/modules/project/Project-select.vue | 6 zt/core/src/main/resources/mapper/sys/SysUserDao.xml | 4 modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java | 6 web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue | 133 ++++++----- modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java | 2 zt/core/src/main/java/com/zt/modules/sys/dao/SysRoleUserDao.java | 1 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java | 2 zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java | 2 web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue | 436 +++++++++++++++++++++------------------ web/src/views/modules/testCheckOrder/TestCheckOrder.vue | 13 modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java | 3 modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java | 12 16 files changed, 361 insertions(+), 283 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java index af11239..99e5bc0 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java @@ -18,7 +18,7 @@ */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("warehouse_cm_audit") +@TableName("config_item_warehouse_cm") public class WarehouseCmAudit extends BusiEntity { private static final long serialVersionUID = 1L; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java index c462154..e88a426 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java @@ -19,7 +19,7 @@ */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("warehouse_config_item") +@TableName("config_item_warehouse_detail") public class WarehouseConfigItem extends BusiEntity { private static final long serialVersionUID = 1L; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java index 277d539..928be6c 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java @@ -18,7 +18,7 @@ */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("warehouse_qa_audit") +@TableName("config_item_warehouse_qa") public class WarehouseQaAudit extends BusiEntity { private static final long serialVersionUID = 1L; @@ -36,5 +36,4 @@ @ApiModelProperty(value = "涓嶉�傜敤璇存槑") private String notApplyExplan; - } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java index f2734d2..61b9549 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java @@ -15,6 +15,8 @@ import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; import com.zt.life.modules.project.service.ProjectService; import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; +import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; +import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService; import com.zt.life.sys.service.SysOssConfigService; import com.zt.modules.coderule.service.SysCodeRuleService; import com.zt.modules.oss.service.SysOssService; @@ -62,6 +64,9 @@ @Autowired private WarehouseConfigItemService configItemService; + @Autowired + private TestCheckOrderService testCheckOrderService; + /** * 鍒嗛〉鏌ヨ * @@ -103,6 +108,15 @@ configItem.setWarehouseId(warehouseId); configItemService.insert(configItem); } + Long checkId = configItem.getCheckId(); + if (checkId != null) { + TestCheckOrder testCheckOrder = testCheckOrderService.get(checkId); + if (testCheckOrder.getConfigItemId() == null) { + Long configItemId = configItem.getId(); + testCheckOrder.setConfigItemId(configItemId); + testCheckOrderService.update(testCheckOrder); + } + } sysOssConfigService.updateOss(configItem.getId(), configItem.getFiles());// 淇濆瓨闄勪欢 } @@ -129,7 +143,7 @@ Long bizId = configItemDto.getConfigItemWarehouse().getId(); FlowInfoDto flowInfoDto = configItemDto.getFlowInfoDto(); - if (flowInfoDto != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { + if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { if ("tj".equals(flowInfoDto.getSubmitType())) { workflowService.startFlow(flowInfoDto.getFlowCode(), bizId); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java index 813adb9..a7c32a7 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java @@ -75,11 +75,11 @@ public Result insert(@RequestBody CheckOrderDto checkOrderDto) { //鏁堥獙鏁版嵁 ValidatorUtils.validateEntity(checkOrderDto, AddGroup.class, DefaultGroup.class); - Map<String, String> map = new HashMap<>(); +/* Map<String, String> map = new HashMap<>(); String pagecode = checkOrderDto.getPageCode(); - map.put("funCode", "test_check_order"+pagecode); + map.put("funCode", "test_check_order_"+pagecode); map.put("projectId", checkOrderDto.getProjectId().toString()); - checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map)); + checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map));*/ Boolean result = testCheckOrderService.save(checkOrderDto); return Result.ok(); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java index 3f0dff6..1d396dd 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java @@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zt.common.db.query.QueryFilter; + import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; @@ -30,11 +31,11 @@ /** * test_check_order * - * @author zt generator + * @author zt generator * @since 1.0.0 2023-12-05 */ @Service -public class TestCheckOrderService extends BaseService<TestCheckOrderDao, TestCheckOrder> { +public class TestCheckOrderService extends BaseService<TestCheckOrderDao, TestCheckOrder> { @Autowired private TestCheckOrderListService checkOrderListService; @@ -65,7 +66,7 @@ } - public CheckOrderDto getDto(Long checkId, Long projectId,String pageCode) { + public CheckOrderDto getDto(Long checkId, Long projectId, String pageCode) { CheckOrderDto data = new CheckOrderDto(); data.setPageCode(pageCode); if (checkId != null) { @@ -82,7 +83,7 @@ } else { TestCheckOrder checkOrder = new TestCheckOrder(); data.setCheckOrder(checkOrder); - List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode+"_check_item"); + List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode + "_check_item"); data.setCheckOrderList(checkOrderList); } if (projectId != null) { @@ -98,7 +99,8 @@ baseDao.updateById(checkOrderDto.getCheckOrder()); else { Map<String, String> map = new HashMap<>(); - map.put("funCode", "test_check_order"); + String pagecode = checkOrderDto.getPageCode(); + map.put("funCode", "test_check_order_" + pagecode); map.put("projectId", checkOrderDto.getProjectId().toString()); checkOrderDto.getCheckOrder().setProjectId(checkOrderDto.getProjectId()); checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map)); diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue index 733caa6..d110098 100644 --- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue +++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue @@ -1,33 +1,35 @@ <template> - <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit" > - <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="warehouseFormAuto"> - <div > + <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit"> + <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" + label-width="120px" class="warehouseFormAuto"> + <div> <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px"> <span>{{dataForm.configItemWarehouse.code || '缂栧彿鑷姩鐢熸垚'}}</span> </el-form-item> </div> <div style="border: 1px solid rgba(0,0,0,.2);width: 99%"> <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="warehouseContentWidth"> - <el-form-item class="marginTopAndMarginBottom" label="椤圭洰缂栧彿" style="width: 49%"> - <el-input v-model="dataForm.project.code" placeholder="璇疯緭鍏ラ」鐩紪鍙�"></el-input> - </el-form-item> - <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鍚嶇О" style="width: 49%"> - <el-input v-model="dataForm.project.softwareName" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> - </el-form-item> - <el-form-item label="鐢宠浜�" style="width: 49%"> - <el-input :disabled="stepMarker=='pzxrk_first'"v-model="dataForm.configItemWarehouse.applicant" placeholder="璇疯緭鍏ョ敵璇蜂汉"></el-input> - </el-form-item> - <el-form-item label="鐢宠鏃ユ湡" style="width: 49%"> - <el-date-picker - :disabled="stepMarker=='pzxrk_first'" - v-model="dataForm.configItemWarehouse.applyDate" - type="date" - placeholder="璇烽�夋嫨鐢宠鏃ユ湡"> - </el-date-picker> - </el-form-item> - <el-form-item class="marginTopAndMarginBottom2" label="搴撶被鍨�" style="width: 99%"> - <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict> - </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="椤圭洰缂栧彿" style="width: 49%"> + <el-input v-model="dataForm.project.code" placeholder="璇疯緭鍏ラ」鐩紪鍙�"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鍚嶇О" style="width: 49%"> + <el-input v-model="dataForm.project.softwareName" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> + </el-form-item> + <el-form-item label="鐢宠浜�" style="width: 49%"> + <el-input :disabled="stepMarker=='pzxrk_first'" v-model="dataForm.configItemWarehouse.applicant" + placeholder="璇疯緭鍏ョ敵璇蜂汉"></el-input> + </el-form-item> + <el-form-item label="鐢宠鏃ユ湡" style="width: 49%"> + <el-date-picker + :disabled="stepMarker=='pzxrk_first'" + v-model="dataForm.configItemWarehouse.applyDate" + type="date" + placeholder="璇烽�夋嫨鐢宠鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom2" label="搴撶被鍨�" style="width: 99%"> + <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict> + </el-form-item> </div> <div class="el-flexManageDialog el-border-bottom"> <div class="DFormWidth DAlign DHold"> @@ -35,68 +37,73 @@ </div> <div class="el-border-left" style="width: calc(100% - 120px)"> <div class="table-container"> - <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList" - stripe> - <el-table-column prop="no" align="center" width="60" label="搴忓彿"> - <template slot-scope="scope"> - <span v-html="indexFormat(scope.$index)"></span> - </template> - </el-table-column> - <el-table-column prop="itemName" min-width="200" label="閰嶇疆椤瑰悕绉�"> - <template v-slot="{ row }"> - <el-input v-model="row.itemName" placeholder="閰嶇疆椤瑰悕绉�"></el-input> - </template> - </el-table-column> - <el-table-column prop="itemDentify" align="center" width="220" label="閰嶇疆椤规爣璇�"> - <template v-slot="{ row }"> - <el-input v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input> - </template> - </el-table-column> - <el-table-column prop="version" align="center" width="120" label="鐗堟湰"> - <template v-slot="{ row }"> - <el-input v-model="row.version" placeholder="鐗堟湰"></el-input> - </template> - </el-table-column> - <el-table-column prop="retrospectVersion" label="涓婃函鐗�" width="120" align="center"> - <template v-slot="{ row }"> - <el-input v-model="row.retrospectVersion" placeholder="涓婃函鐗�"></el-input> - </template> - </el-table-column> - <el-table-column prop="secretClass" label="瀵嗙骇" width="100" align="center"> - <template v-slot="{ row }"> - <zt-dict v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class" - clearable></zt-dict> - </template> - </el-table-column> - <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center"> - <template v-slot="{ row }"> - <!-- <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>--> - <table-uploader busi-type="config_item_warehouse" model-name="row" :dataForm="row" - v-model="row.files"/> - </template> - </el-table-column> - <el-table-column fixed="right" label="绠$悊" width="80" align="center"> - <template v-slot="{ row }"> - <zt-table-button @click="">绠$悊</zt-table-button> -<!-- <table-uploader busi-type="config_item_warehouse" model-name="row" :dataForm="row"--> -<!-- v-model="row.files"/>--> - </template> - </el-table-column> - </el-table> + <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" + style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList" + stripe> + <el-table-column prop="no" align="center" width="60" label="搴忓彿"> + <template slot-scope="scope"> + <span v-html="indexFormat(scope.$index)"></span> + </template> + </el-table-column> + <el-table-column prop="itemName" min-width="200" label="閰嶇疆椤瑰悕绉�"> + <template v-slot="{ row }"> + <el-input v-model="row.itemName" placeholder="閰嶇疆椤瑰悕绉�"></el-input> + </template> + </el-table-column> + <el-table-column prop="itemDentify" align="center" width="220" label="閰嶇疆椤规爣璇�"> + <template v-slot="{ row }"> + <el-input v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input> + </template> + </el-table-column> + <el-table-column prop="version" align="center" width="120" label="鐗堟湰"> + <template v-slot="{ row }"> + <el-input v-model="row.version" placeholder="鐗堟湰"></el-input> + </template> + </el-table-column> + <el-table-column prop="retrospectVersion" label="涓婃函鐗�" width="120" align="center"> + <template v-slot="{ row }"> + <el-input v-model="row.retrospectVersion" placeholder="涓婃函鐗�"></el-input> + </template> + </el-table-column> + <el-table-column prop="secretClass" label="瀵嗙骇" width="100" align="center"> + <template v-slot="{ row }"> + <zt-dict v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class" + clearable></zt-dict> + </template> + </el-table-column> + <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center"> + <template v-slot="{ row }"> + <!-- <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>--> + <table-uploader busi-type="config_item_warehouse" model-name="row" :dataForm="row" + v-model="row.files"/> + </template> + </el-table-column> + <el-table-column fixed="right" label="绠$悊" width="80" align="center"> + <template v-slot="{ row }"> + <zt-table-button v-if="row.checkId" + @click="openCheckOrderWin(row)">淇敼妫�鏌ュ崟 + </zt-table-button> + <zt-table-button v-else-if="',杞欢娴嬭瘯璁″垝锛岃蒋浠舵祴璇曡鏄庯紝杞欢娴嬭瘯璁板綍锛岃蒋浠舵祴璇曟姤鍛�'.indexOf(row.itemName)>0" + @click="openCheckOrderWin(row)">鏂板妫�鏌ュ崟 + </zt-table-button> + <!-- <table-uploader busi-type="config_item_warehouse" model-name="row" :dataForm="row"--> + <!-- v-model="row.files"/>--> + </template> + </el-table-column> + </el-table> <div class="icon-container"> <el-dropdown @command="handleCommand"> <span class="el-dropdown-link"> <i class="el-icon-plus"></i> </span> <el-dropdown-menu slot="dropdown"> - <el-dropdown-item v-for="item in menuOptions" :key="item.command" :command="item.command"> + <el-dropdown-item v-for="item in menuOptions" :key="item.pageCode" :command="item.pageCode"> {{ item.name }} </el-dropdown-item> </el-dropdown-menu> </el-dropdown> - <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> -<!-- <i class="el-icon-plus"></i>--> + <!-- <i class="el-icon-plus"></i>--> </div> </div> </div> @@ -106,13 +113,15 @@ 椤圭洰QA瀹℃牳 </div> <div class="el-border-left" style="width: calc(100% - 120px)"> - <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.qaAuditList" + <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border + :data="dataForm.qaAuditList" stripe> <el-table-column prop="no" align="center" width="80" label="搴忓彿"></el-table-column> <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column> <el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center"> <template slot-scope="scope"> - <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true" + <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" + dict="tristate2" :radio="true" clearable></zt-dict> </template> </el-table-column> @@ -124,16 +133,17 @@ </el-table-column> </el-table> <div class="el-border-top"> - <el-form-item label="瀹℃牳缁撴灉" style="width: 99%"> - <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true" - clearable></zt-dict> - </el-form-item> - <el-form-item label="瀹℃牳浜猴細" style="width: 48%"> - <span>{{dataForm.configItemWarehouse.qaAuditor}}</span> - </el-form-item> - <el-form-item label="瀹℃牳鏃ユ湡锛�" style="width: 48%"> - <span>{{dataForm.configItemWarehouse.qaAuditDate}}</span> - </el-form-item> + <el-form-item label="瀹℃牳缁撴灉" style="width: 99%"> + <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" + dict="is_pass" :radio="true" + clearable></zt-dict> + </el-form-item> + <el-form-item label="瀹℃牳浜猴細" style="width: 48%"> + <span>{{dataForm.configItemWarehouse.qaAuditor}}</span> + </el-form-item> + <el-form-item label="瀹℃牳鏃ユ湡锛�" style="width: 48%"> + <span>{{dataForm.configItemWarehouse.qaAuditDate}}</span> + </el-form-item> </div> </div> </div> @@ -142,13 +152,15 @@ CM瀹℃牳 </div> <div class="el-border-left" style="width: calc(100% - 120px)"> - <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.cmAuditList" + <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border + :data="dataForm.cmAuditList" stripe> <el-table-column prop="no" align="center" width="80" label="搴忓彿"></el-table-column> <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column> <el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center"> <template slot-scope="scope"> - <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true" + <zt-dict :disabled="stepMarker!=='wplz_cmsh'" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" + dict="tristate2" :radio="true" clearable></zt-dict> </template> </el-table-column> @@ -161,7 +173,8 @@ </el-table> <div class="el-border-top"> <el-form-item label="瀹℃牳缁撴灉" style="width: 99%"> - <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass" :radio="true" + <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" + placeholder="瀹℃牳缁撴灉" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> <el-form-item label="瀹℃牳浜猴細" style="width: 48%"> @@ -179,7 +192,8 @@ </div> <div style="width: calc(100% - 120px)" class="el-border-left"> <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%"> - <zt-dict :disabled="stepMarker!=='wplz_bmsh'" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true" + <zt-dict :disabled="stepMarker!=='wplz_bmsh'" v-model="dataForm.configItemWarehouse.approvalOpinions" + dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> <el-form-item label-width="80%" label="绛惧瓧锛�" style="width: 65%"> @@ -196,7 +210,8 @@ </div> <div style="width: calc(100% - 120px)" class="el-border-left"> <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px"> - <el-input v-if="stepMarker=='wplz_cmcz'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input> + <el-input v-if="stepMarker=='wplz_cmcz'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input> <span v-else>{{dataForm.configItemWarehouse.projectCmOperations}}</span> </el-form-item> <el-form-item label-width="80%" label="鎿嶄綔浜猴細" style="width: 65%"> @@ -213,43 +228,47 @@ </div> <div style="width: calc(100% - 120px)" class="el-border-left"> <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px"> - <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.configItemWarehouse.remark"></el-input> + <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.configItemWarehouse.remark"></el-input> </el-form-item> </div> </div> </div> + <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/> </el-form> </zt-dialog> </template> <script> + import AddOrUpdateCheck from '../testCheckOrder/TestCheckOrder-AddOrUpdate' + export default { data() { return { - disabled:true, + disabled: true, stepMarker: '', title: '鏌ョ湅', menuOptions: [ - { command: 'a', name: '杞欢娴嬭瘯濮旀墭鍗�' }, - { command: 'b', name: '杞欢闇�姹傝鏍艰鏄�' }, - { command: 'c', name: '杞欢璁捐璇存槑' }, - { command: 'd', name: '杞欢鐮斿埗浠诲姟涔�' }, - { command: 'e', name: '鍏朵粬' } + {pageCode: 'plan', name: '杞欢娴嬭瘯璁″垝'}, + {pageCode: 'explain', name: '杞欢娴嬭瘯璇存槑'}, + {pageCode: 'record', name: '杞欢娴嬭瘯璁板綍'}, + {pageCode: 'report', name: '杞欢娴嬭瘯鎶ュ憡'}, + {pageCode: 'other', name: '鍏朵粬'} ], dataForm: { id: '', - configItemWarehouse:{ - id:"", + configItemWarehouse: { + id: "", code: "", applicant: "", applyDate: "", libraryType: "", - qaAuditResults:"", - qaAuditor:"", - qaAuditDate:"", - cmAuditResults:"", - cmAuditor:"", - cmAuditDate:"", + qaAuditResults: "", + qaAuditor: "", + qaAuditDate: "", + cmAuditResults: "", + cmAuditor: "", + cmAuditDate: "", approvalOpinions: "", approvalSign: "", approvalDate: "", @@ -262,32 +281,35 @@ code: '', softwareName: '', }, - cmAuditList:[], - configItemList:[], - qaAuditList:[], + cmAuditList: [], + configItemList: [], + qaAuditList: [], flowInfoDto: {} } } }, - computed:{ - getRoleName(){ - console.log(this.$store.state.user.roleName,'this.$store.state.user.roleName') + computed: { + getRoleName() { + console.log(this.$store.state.user.roleName, 'this.$store.state.user.roleName') return this.$store.state.user.roleName || '' }, }, + components: { + AddOrUpdateCheck + }, methods: { - indexFormat(index){ + indexFormat(index) { return index += 1 }, - init(id,row){ - console.log(id,row,'鍏ュ簱鍗曠殑') + init(id, row) { + console.log(id, row, '鍏ュ簱鍗曠殑') if (id) { this.dataForm.id = id } else { this.dataForm.id = row.id } - if(row.projectId){ - this.dataForm.projectId =row.projectId + if (row.projectId) { + this.dataForm.projectId = row.projectId } this.getInfo() if (!this.dataForm.disabled) { @@ -299,7 +321,7 @@ this.stepMarker = row.stepMarker } } - console.log(this.dataForm.id,this.dataForm.projectId,'params params') + console.log(this.dataForm.id, this.dataForm.projectId, 'params params') }, // addConfigItemWarehouseRow(){ // this.dataForm.configItemList.push({}) @@ -308,18 +330,24 @@ // tableBody.scrollTop = tableBody.scrollHeight; // }) // }, - handleCommand(command){ - const selectedItem = this.menuOptions.find(item => item.command === command); - if (selectedItem.command === 'e') { + handleCommand(pageCode) { + const selectedItem = this.menuOptions.find(item => item.pageCode === pageCode); + console.log(selectedItem,"handleCommand(pageCode) selectedItem") + if (selectedItem.pageCode === 'other') { this.dataForm.configItemList.push({}) - }else if(selectedItem){ - this.dataForm.configItemList.push({itemName:selectedItem.name}) + } else if (selectedItem) { + this.dataForm.configItemList.push({itemName: selectedItem.name, pageCode: selectedItem.pageCode}) } - - this.$nextTick(()=>{ - const tableBody=this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper') + this.$nextTick(() => { + const tableBody = this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper') tableBody.scrollTop = tableBody.scrollHeight; }) + }, + openCheckOrderWin(row) { + this.$refs.addOrUpdate.$refs.dialog.init(null, row) + }, + setCheckId(checkId, row) { + row.checkId = checkId }, // 鑾峰彇淇℃伅 async getInfo() { @@ -327,21 +355,21 @@ warehouseId: this.dataForm.id, projectId: this.dataForm.projectId } - let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/getDto`,{params: params}) + let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/getDto`, {params: params}) this.dataForm = { ...this.dataForm, ...res.data } - if(this.dataForm.project === null){ - this.dataForm.project={} + if (this.dataForm.project === null) { + this.dataForm.project = {} } - if(this.dataForm.configItemWarehouse === null){ - this.dataForm.circulatOrder={} + if (this.dataForm.configItemWarehouse === null) { + this.dataForm.circulatOrder = {} } - if(this.dataForm.flowInfoDto === null){ - this.dataForm.flowInfoDto={} + if (this.dataForm.flowInfoDto === null) { + this.dataForm.flowInfoDto = {} } - console.log(this.dataForm,"getInfo this.dataForm") + console.log(this.dataForm, "getInfo this.dataForm") }, // 琛ㄥ崟鎻愪氦 async formSubmit(submitType) { @@ -364,74 +392,86 @@ } </script> <style> -.ManageFormAuto { - width: 70%; - margin: 0 auto; -} -.confirmDAuto{ - border: 1px solid; -} + .ManageFormAuto { + width: 70%; + margin: 0 auto; + } -.el-flexManageDialog { - display: flex; - align-items: center; -} + .confirmDAuto { + border: 1px solid; + } -.DFormWidth { - width: 120px; -} + .el-flexManageDialog { + display: flex; + align-items: center; + } -.DAlign { - text-align: center; -} + .DFormWidth { + width: 120px; + } -.DManageForm{ - /*border-left: 1px solid;*/ - width: 100%; -} + .DAlign { + text-align: center; + } -.DManageForm> .el-form-item > .el-form-item__content { - width: calc(100% - 120px); -} -.el-form-item.el-CMTextarea>.el-form-item__content{ - width: 100%; -} -.el-form .el-form-item.el-wt-form-item-margin{ - margin-left: 120px; -} -.el-form-border{ - border-top: 1px solid; - border-bottom: 1px solid; -} -.el-margin-top-bot{ - margin-top:5px; - margin-bottom:5px; -} -.zt .el-table.el-software th { - background: transparent; -} + .DManageForm { + /*border-left: 1px solid;*/ + width: 100%; + } -.zt .el-table.el-software th > .cell { - font-weight: 500; -} -.DHold{ - font-weight: 600; -} -.zt .el-table.el-software{ - font-size: 14px; -} -.warehouseContentWidth > .el-form-item > .el-form-item__content { - width: calc(100% - 120px); -} -.warehouseContentWidth > .el-form-item.lastChild > .el-form-item__content { - width: calc(100% - 142px); -} -.warehouseFormAuto .marginTopAndMarginBottom { - margin-top: 10px !important; - margin-bottom: 0 !important; -} -.warehouseFormAuto .marginTopAndMarginBottom2 { - margin-top: -10px !important; - margin-bottom: 0 !important; -} + .DManageForm > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .el-form-item.el-CMTextarea > .el-form-item__content { + width: 100%; + } + + .el-form .el-form-item.el-wt-form-item-margin { + margin-left: 120px; + } + + .el-form-border { + border-top: 1px solid; + border-bottom: 1px solid; + } + + .el-margin-top-bot { + margin-top: 5px; + margin-bottom: 5px; + } + + .zt .el-table.el-software th { + background: transparent; + } + + .zt .el-table.el-software th > .cell { + font-weight: 500; + } + + .DHold { + font-weight: 600; + } + + .zt .el-table.el-software { + font-size: 14px; + } + + .warehouseContentWidth > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .warehouseContentWidth > .el-form-item.lastChild > .el-form-item__content { + width: calc(100% - 142px); + } + + .warehouseFormAuto .marginTopAndMarginBottom { + margin-top: 10px !important; + margin-bottom: 0 !important; + } + + .warehouseFormAuto .marginTopAndMarginBottom2 { + margin-top: -10px !important; + margin-bottom: 0 !important; + } </style> diff --git a/web/src/views/modules/project/Project-select.vue b/web/src/views/modules/project/Project-select.vue index 96def2f..2ed3089 100644 --- a/web/src/views/modules/project/Project-select.vue +++ b/web/src/views/modules/project/Project-select.vue @@ -55,6 +55,7 @@ name: 'Project-select', data() { return { + pageCode:'', dataForm: { softwareName: '', secretClass: '', @@ -67,8 +68,9 @@ } }, methods: { - init(tableName) { + init(tableName,row) { this.dataForm.tableName = tableName + this.pageCode = row.pageCode this.$nextTick(()=>{ this.$refs.tableObj.query() }) @@ -78,7 +80,7 @@ console.log(row, 'row') await this.$tip.success() this.$refs.dialog.close() - this.$emit('setProjectInfo', row) + this.$emit('setProjectInfo', row,this.pageCode) } }, } diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue index b4aa87c..6262ff5 100644 --- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue +++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue @@ -24,7 +24,7 @@ </div> <div style="border-bottom: 1px solid rgba(0,0,0,.2);"> <div style="padding-left:5px;padding-right:5px;"> - <div style="padding: 5px">娴嬭瘯璁″垝锛�</div> + <div style="padding: 5px">{{subtitle}}</div> <div class="table-container"> <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border :data="dataForm.checkOrderList" @@ -49,18 +49,18 @@ <el-input v-model="row.remark" placeholder="澶囨敞"></el-input> </template> </el-table-column> -<!-- <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center"> - <template v-slot="{ row }"> - <!– <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>–> - <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row" - v-model="row.files"/> - </template> - </el-table-column>--> + <!-- <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center"> + <template v-slot="{ row }"> + <!– <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>–> + <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row" + v-model="row.files"/> + </template> + </el-table-column>--> </el-table> -<!-- <div class="icon-container" @click="addCirculatRow()">--> -<!-- <!– 鏀剧疆鍥哄畾鐨勫浘鏍� –>--> -<!-- <i class="el-icon-plus"></i>--> -<!-- </div>--> + <!-- <div class="icon-container" @click="addCirculatRow()">--> + <!-- <!– 鏀剧疆鍥哄畾鐨勫浘鏍� –>--> + <!-- <i class="el-icon-plus"></i>--> + <!-- </div>--> </div> </div> </div> @@ -99,7 +99,7 @@ 楠岃瘉浜� </div> <div class="el-border-left acceptDate1" style="width: 40%;height: 40px;"> - <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0"> + <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0"> <el-input v-model="dataForm.testCheckOrder.verifier" placeholder="楠岃瘉浜�"></el-input> </el-form-item> </div> @@ -114,22 +114,19 @@ <script> export default { - props:{ - pageCode: { - type: String, - default: '' - }, - }, data() { return { + parentRow: null, + subtitle: '', + pageName: {plan: '娴嬭瘯璁″垝', explain: '娴嬭瘯璇存槑', record: '娴嬭瘯璁板綍', report: '娴嬭瘯鎶ュ憡'}, dataForm: { id: '', projectId: '', - project:{ - softwareIdentity:'', - softwareName:'', + project: { + softwareIdentity: '', + softwareName: '', }, - testCheckOrder:{ + testCheckOrder: { code: '', examiner: '', examDate: '', @@ -138,33 +135,41 @@ processor: '', verifier: '', }, - checkOrderList:{} + checkOrderList: [] } } }, methods: { init(id, row) { - console.log(id,row,'杞欢娴嬭瘯璁″垝妫�鏌ュ崟') + this.parentRow = row + console.log(id, row, '杞欢娴嬭瘯璁″垝妫�鏌ュ崟') if (id) { this.dataForm.id = id } else { this.dataForm.id = row.id } - if(row.projectId){ - this.dataForm.projectId =row.projectId + this.pageCode = row.pageCode + this.subtitle = this.pageName[this.pageCode] + + if (row.projectId) { + this.dataForm.projectId = row.projectId } - // this.dataForm.disabled + //this.dataForm.disabled this.getInfo() - console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') + //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') }, // 鑾峰彇淇℃伅 + indexFormat(index) { + return index += 1 + }, async getInfo() { let params = { checkId: this.dataForm.id, projectId: this.dataForm.projectId, - pageCode:this.pageCode + pageCode: this.pageCode } + console.log(this.pageCode, "getInfo pageCode") let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params}) this.dataForm = { ...this.dataForm, @@ -177,46 +182,50 @@ if (res.success) { await this.$tip.success() this.$refs.dialog.close() - this.$emit('refreshDataList') + this.$emit('recall', this.dataForm, this.parentRow) } } } } </script> <style> -.el-flexCirculationDialog { - display: flex; - align-items: center -} + .el-flexCirculationDialog { + display: flex; + align-items: center + } -.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { - width: 100%; -} -.testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { - width: 100%; -} -.testCheckFormAuto .marginTopAndMarginBottom { - margin-top: 10px !important; - margin-bottom: 0 !important; -} + .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { + width: 100%; + } -.testCheckFormAuto .marginTopAndMarginBottom2 { - margin-top: -10px !important; - margin-bottom: 10px !important; -} + .testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { + width: 100%; + } -.testCheckFormAuto .marginTopAndMarginBottom3 { - margin-top: 0 !important; - margin-bottom: 10px !important; -} + .testCheckFormAuto .marginTopAndMarginBottom { + margin-top: 10px !important; + margin-bottom: 0 !important; + } -.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { - line-height: 78px; -} -.testCheckContentWidth > .el-form-item > .el-form-item__content { - width: calc(100% - 120px); -} -.testCheckFormAuto .el-radio { - margin-right: 10px; -} + .testCheckFormAuto .marginTopAndMarginBottom2 { + margin-top: -10px !important; + margin-bottom: 10px !important; + } + + .testCheckFormAuto .marginTopAndMarginBottom3 { + margin-top: 0 !important; + margin-bottom: 10px !important; + } + + .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { + line-height: 78px; + } + + .testCheckContentWidth > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .testCheckFormAuto .el-radio { + margin-right: 10px; + } </style> diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder.vue index 54fef50..ab98cd1 100644 --- a/web/src/views/modules/testCheckOrder/TestCheckOrder.vue +++ b/web/src/views/modules/testCheckOrder/TestCheckOrder.vue @@ -23,12 +23,12 @@ <zt-table-column-handle :table="table" edit-perm="testCheckOrder:update" delete-perm="testCheckOrder::delete"/> </el-table> <!-- 寮圭獥, 鏂板 / 淇敼 --> - <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> - <ProjectSelect ref="projectSelect" + <add-or-update ref="addOrUpdate" @recall="table.query"/> + <ProjectSelect :pageCode="pageCode" ref="projectSelect" @refreshDataList="table.query" @setProjectInfo="openAddWin"> </ProjectSelect> - <Preview ref="view" :pageMarkerfun="SoftwareTestOrder"></Preview> + <Preview ref="view"></Preview> </zt-table-wraper> </div> </el-card> @@ -61,11 +61,12 @@ }, methods:{ add() { - this.$refs.projectSelect.$refs.dialog.init("test_check_order") + console.log(this.pageCode,'this.pageCode') + this.$refs.projectSelect.$refs.dialog.init("test_check_order",{pageCode: this.pageCode}) }, - openAddWin(row) { + openAddWin(row,pageCode) { console.log(row.id, 'row.id') - this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id}) + this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id,pageCode:pageCode}) }, preview(row){ this.$refs.view.openAccessoryFormatSingle(row) diff --git a/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java b/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java index c9188c3..0077479 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java +++ b/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java @@ -220,7 +220,6 @@ @ApiOperation("鐢ㄦ埛瑙掕壊鍒楄〃") @RequiresPermissions("sys:user:role") public Result<List<Long>> getRole(@PathVariable("id") Long id) { - return Result.ok(sysRoleUserService.getUserRoles(id).stream().map(role -> role.getId()) .collect(Collectors.toList())); } diff --git a/zt/core/src/main/java/com/zt/modules/sys/dao/SysRoleUserDao.java b/zt/core/src/main/java/com/zt/modules/sys/dao/SysRoleUserDao.java index 9bf3b6b..c7f1448 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/dao/SysRoleUserDao.java +++ b/zt/core/src/main/java/com/zt/modules/sys/dao/SysRoleUserDao.java @@ -29,4 +29,5 @@ List<RoleDto> getUserRoles(Long userId); List<SysUser> getRoleUsers(Long roleId); List<SysRoleUser> getSingleRoleUsers(Long roleId,Long userId); + } diff --git a/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java b/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java index 8fc0dd2..561b9d7 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java +++ b/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java @@ -55,4 +55,6 @@ Integer checkTestHome(String systemId, Long userId); List<SysUser> getUsersList(); + + String getUsersName(); } diff --git a/zt/core/src/main/java/com/zt/modules/sys/service/SysRoleUserService.java b/zt/core/src/main/java/com/zt/modules/sys/service/SysRoleUserService.java index dca6088..6ed63f7 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/service/SysRoleUserService.java +++ b/zt/core/src/main/java/com/zt/modules/sys/service/SysRoleUserService.java @@ -42,6 +42,7 @@ return baseDao.getUserRoles(userId); } + /** * 瑙掕壊鐢ㄦ埛鍒楄〃 * diff --git a/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java b/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java index 1248eea..f97e69e 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java +++ b/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java @@ -335,6 +335,10 @@ return baseDao.getUsersList(); } + public String getUsersName(Long id) { + return baseDao.getUsersName(); + } + public SysUser getUserInfo(Long id) { SysUser data = super.get(id); if (data != null) { @@ -349,4 +353,6 @@ } return data; } + + } diff --git a/zt/core/src/main/resources/mapper/sys/SysUserDao.xml b/zt/core/src/main/resources/mapper/sys/SysUserDao.xml index 5884878..bb785cf 100644 --- a/zt/core/src/main/resources/mapper/sys/SysUserDao.xml +++ b/zt/core/src/main/resources/mapper/sys/SysUserDao.xml @@ -240,7 +240,9 @@ <select id="getUsersList" resultType="com.zt.core.sys.model.SysUser"> select real_name as name,id as id from sys_user </select> - + <select id="getUsersName" resultType="java.lang.String"> + select real_name from sys_user WHERE id=#{id} + </select> <update id="updatePassword"> update SYS_USER -- Gitblit v1.9.1