# 一键保存说明
一键保存
点击保存后,同时保存Form表单和Table表格内容
Author
songgangyu@expservice.com.cn
# 前端示例
Copy
# 后端示例
- Controller
/**
* @remark:Form更新Controller层
* @param: id
* @param: params
* @return: java.util.Map<java.lang.String, java.lang.Object>
* @author: 宋刚宇
* @date: 2023/5/30 16:27
* @version: 1.0.1
* Modification History:
* Date Author Version Description
* -----------------------------------------------------------
* 2023/5/30 宋刚宇 v1.0.1 init
*/
@ApiOperation(value = "更新->", notes = "更新")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", dataTypeClass = Long.class),
@ApiImplicitParam(name = "param", value = "更新参数", dataTypeClass = Map.class)
})
@PutMapping(value = "/update/{id}")
public Map<String, Object> update(@PathVariable("id") Long id, @RequestBody Map<String, Object> param)
{
return csOemSeBaClaimUserService.update(id, param);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- Service
/**
* @remark:Form更新Controller层
* @param: id
* @param: params
* @return: java.util.Map<java.lang.String, java.lang.Object>
* @author: 宋刚宇
* @date: 2023/5/30 16:27
* @version: 1.0.1
* Modification History:
* Date Author Version Description
* -----------------------------------------------------------
* 2023/5/30 宋刚宇 v1.0.1 init
*/
Map<String, Object> update(Long id, Map<String, Object> param);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- Impl
/**
* @remark:Form更新Impl层
* @param: id
* @param: params
* @return: java.util.Map<java.lang.String, java.lang.Object>
* @author: 宋刚宇
* @date: 2023/5/30 17:32
* @version: 1.0.1
* Modification History:
* Date Author Version Description
* -----------------------------------------------------------
* 2023/5/30 宋刚宇 v1.0.1 init
*/
@Override
public Map<String, Object> update(Long id, Map<String, Object> param)
{
AssertMyUtil.notNull(id, BizCode.METHOD_ARGS_NOTNULL, "id");
CsOemSeBaClaimUserPO csOemSeBaClaimUserPO = csOemSeBaClaimUserMapper.selectById(id);
Map2ObjUtil.toObject(param, csOemSeBaClaimUserPO);
csOemSeBaClaimUserMapper.updateById(csOemSeBaClaimUserPO);
List<CsOemSeBaClaimUserDtlPO> csOemSeBaClaimUserDtlPOS = new ArrayList<>();
List<CsOemSeBaClaimUserDtlPO> updatePOS = new ArrayList<>();
List<CsOemSeBaClaimUserDtlPO> savePOS = new ArrayList<>();
if (param.get("itemTableData") != null)
{
Object itemTableData = param.remove("itemTableData").toString();
JSONArray array = JSONUtil.parseArray(itemTableData);
csOemSeBaClaimUserDtlPOS = JSONUtil.toList(array, CsOemSeBaClaimUserDtlPO.class);
}
if (!CollectionUtils.isEmpty(csOemSeBaClaimUserDtlPOS))
{
csOemSeBaClaimUserDtlPOS.stream().forEach(csOemSeBaClaimUserDtlPO ->
{
if (csOemSeBaClaimUserDtlPO.getId() != null)
{
CsOemSeBaClaimUserDtlPO csOemSeBaClaimUserDtlPO1 = csOemSeBaClaimUserDtlMapper.selectById(csOemSeBaClaimUserDtlPO.getId());
csOemSeBaClaimUserDtlPO1.setUserId(csOemSeBaClaimUserDtlPO.getUserId());
csOemSeBaClaimUserDtlPO1.setUserName(csOemSeBaClaimUserDtlPO.getUserName());
csOemSeBaClaimUserDtlPO1.setUserCode(csOemSeBaClaimUserDtlPO.getUserCode());
csOemSeBaClaimUserDtlPO1.setRemark(csOemSeBaClaimUserDtlPO.getRemark());
csOemSeBaClaimUserDtlPO1.setStatus(csOemSeBaClaimUserDtlPO.getStatus());
updatePOS.add(csOemSeBaClaimUserDtlPO1);
} else if (!org.apache.commons.lang.StringUtils.isEmpty(csOemSeBaClaimUserDtlPO.getUserName()))
{
savePOS.add(csOemSeBaClaimUserDtlPO);
}
});
if (!CollectionUtils.isEmpty(updatePOS))
{
csOemSeBaClaimUserDtlMapper.updateBatch(updatePOS, CsOemSeBaClaimUserDtlPO.class);
}
if (!CollectionUtils.isEmpty(savePOS))
{
csOemSeBaClaimUserDtlMapper.saveBatch(savePOS, CsOemSeBaClaimUserDtlPO.class);
}
}
return transResultService.transResult(csOemSeBaClaimUserPO.toMaps(), this.getTransDic());
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 版本
- v1.0.1