update 流转日志, 选择全部

This commit is contained in:
2021-07-08 10:55:59 +08:00
parent 37aa61855d
commit 598de7c026
6 changed files with 84 additions and 16 deletions

View File

@@ -489,6 +489,11 @@
最后提交时间 最后提交时间
</summary> </summary>
</member> </member>
<member name="P:Ewide.Application.BsHouseTask.IsEnabled">
<summary>
是否有效
</summary>
</member>
<member name="P:Ewide.Application.BsHouseTaskCheckRecord.TaskId"> <member name="P:Ewide.Application.BsHouseTaskCheckRecord.TaskId">
<summary> <summary>
任务Id 任务Id
@@ -1451,6 +1456,21 @@
上报备注 上报备注
</summary> </summary>
</member> </member>
<member name="P:Ewide.Application.HouseTaskOutput.SubmitTime">
<summary>
提交时间
</summary>
</member>
<member name="P:Ewide.Application.HouseTaskOutput.LastSubmitTime">
<summary>
最后提交时间
</summary>
</member>
<member name="P:Ewide.Application.HouseTaskOutput.IsEnabled">
<summary>
是否有效
</summary>
</member>
<member name="P:Ewide.Application.AddHouseZoneInput.Pid"> <member name="P:Ewide.Application.AddHouseZoneInput.Pid">
<summary> <summary>
所属街道 所属街道

View File

@@ -28,17 +28,24 @@ namespace Ewide.Application.Service.HouseSafety.HouseInfo
private readonly IRepository<BsHouseCode> _houseCodeRep; private readonly IRepository<BsHouseCode> _houseCodeRep;
private readonly IRepository<BsHouseInfo> _houseInfoRep; private readonly IRepository<BsHouseInfo> _houseInfoRep;
private readonly IRepository<BsHouseTask> _houseTaskRep; private readonly IRepository<BsHouseTask> _houseTaskRep;
private readonly IRepository<SysUser> _sysUserRep;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly IDapperRepository _dapperRepository; private readonly IDapperRepository _dapperRepository;
private readonly IHouseLogService _houseLogService; private readonly IHouseLogService _houseLogService;
public HouseInfoService(IRepository<BsHouseCode> HouseCodeRep,IRepository<BsHouseInfo> HouseInfoRep, IRepository<BsHouseTask> HouseTaskRep, IUserManager userManager, IDapperRepository dapperRepository, IHouseLogService houseLogService) public HouseInfoService(
IRepository<BsHouseCode> HouseCodeRep,
IRepository<BsHouseInfo> HouseInfoRep,
IRepository<BsHouseTask> HouseTaskRep,
IRepository<SysUser> sysUserRep,
IUserManager userManager, IDapperRepository dapperRepository, IHouseLogService houseLogService)
{ {
_houseCodeRep = HouseCodeRep; _houseCodeRep = HouseCodeRep;
_houseInfoRep = HouseInfoRep; _houseInfoRep = HouseInfoRep;
_houseTaskRep = HouseTaskRep; _houseTaskRep = HouseTaskRep;
_sysUserRep = sysUserRep;
_userManager = userManager; _userManager = userManager;
_dapperRepository = dapperRepository; _dapperRepository = dapperRepository;
@@ -135,9 +142,9 @@ WHERE HC.Id=@HouseCodeId", new { houseTask.HouseCodeId }
var houseEntity = await _houseInfoRep.DetachedEntities.FirstOrDefaultAsync(h => h.HouseCodeId == input.houseCode.Id); var houseEntity = await _houseInfoRep.DetachedEntities.FirstOrDefaultAsync(h => h.HouseCodeId == input.houseCode.Id);
//建档审核通过的房屋数据修改时对应的建档任务Task不处理 //建档审核通过的房屋数据修改时对应的建档任务Task不处理
var houseTask = input.PatrolInfo.Adapt<BsHouseTask>();
if (houseEntity == null || houseEntity.State != 6) if (houseEntity == null || houseEntity.State != 6)
{ {
var houseTask = input.PatrolInfo.Adapt<BsHouseTask>();
houseTask.HouseCodeId = input.houseCode.Id; houseTask.HouseCodeId = input.houseCode.Id;
//任务没有暂存状态其他状态与HouseInfo的State一致 //任务没有暂存状态其他状态与HouseInfo的State一致
houseTask.Status = dataStatus == DataStatus.TempSaved ? (int)DataStatus.Saved : (int)dataStatus; houseTask.Status = dataStatus == DataStatus.TempSaved ? (int)DataStatus.Saved : (int)dataStatus;
@@ -167,7 +174,6 @@ WHERE HC.Id=@HouseCodeId", new { houseTask.HouseCodeId }
var org = await _userManager.GetUserOrgInfo(); var org = await _userManager.GetUserOrgInfo();
var _sysUserRep = Db.GetRepository<SysUser>();
var _sysEmpRep = Db.GetRepository<SysEmp>(); var _sysEmpRep = Db.GetRepository<SysEmp>();
var _sysUserRoleRep = Db.GetRepository<SysUserRole>(); var _sysUserRoleRep = Db.GetRepository<SysUserRole>();
var _sysRoleRep = Db.GetRepository<SysRole>(); var _sysRoleRep = Db.GetRepository<SysRole>();
@@ -178,14 +184,20 @@ WHERE HC.Id=@HouseCodeId", new { houseTask.HouseCodeId }
where e.OrgId == org.Id && r.Code == Enum.GetName(HouseManagerRole.ZoneManager).ToUnderScoreCase() where e.OrgId == org.Id && r.Code == Enum.GetName(HouseManagerRole.ZoneManager).ToUnderScoreCase()
select u).ToListAsync(); select u).ToListAsync();
await _houseLogService.AddThenDone(input.houseCode.Id, zoneManagerList, HouseLogType.Check); await _houseLogService.Add(input.houseCode.Id, zoneManagerList, HouseLogType.Check);
} }
//审核操作则新增一条审核记录 //审核操作则新增一条审核记录
if (dataStatus == DataStatus.Back || dataStatus == DataStatus.Passed) if (dataStatus == DataStatus.Back || dataStatus == DataStatus.Passed)
{ {
var checkRecord = input.TaskCheckRecord.Adapt<BsHouseTaskCheckRecord>(); var checkRecord = input.TaskCheckRecord.Adapt<BsHouseTaskCheckRecord>();
await checkRecord.InsertAsync(); await checkRecord.InsertAsync();
await _houseLogService.Done(input.houseCode.Id);
await _houseLogService.AddThenDone(input.houseCode.Id, _userManager.User, dataStatus == DataStatus.Passed ? HouseLogType.Agree : HouseLogType.Disagree); await _houseLogService.AddThenDone(input.houseCode.Id, _userManager.User, dataStatus == DataStatus.Passed ? HouseLogType.Agree : HouseLogType.Disagree);
if (dataStatus == DataStatus.Back)
{
var user = await _sysUserRep.DetachedEntities.FirstOrDefaultAsync(p => p.Id.Equals(houseTask.UserID));
await _houseLogService.Add(input.houseCode.Id, user, HouseLogType.CreateInfo);
}
} }
} }
} }

View File

@@ -51,22 +51,22 @@ LEFT JOIN bs_house_projectinfo Proj ON Proj.Id=HC.ProjectId
LEFT JOIN sys_area_code CA ON CA.Code = Proj.AreaCode LEFT JOIN sys_area_code CA ON CA.Code = Proj.AreaCode
LEFT JOIN sys_area_code RA ON RA.AdCode = SUBSTR(CA.AdCode,1,9) LEFT JOIN sys_area_code RA ON RA.AdCode = SUBSTR(CA.AdCode,1,9)
LEFT JOIN sys_area_code AA ON AA.AdCode = SUBSTR(CA.AdCode,1,6) LEFT JOIN sys_area_code AA ON AA.AdCode = SUBSTR(CA.AdCode,1,6)
WHERE {0}"; WHERE T.IsEnabled = 1 {0}";
var user = await _userManager.CheckUserAsync(); var user = await _userManager.CheckUserAsync();
if (user == null) throw Oops.Oh("登录信息丢失"); if (user == null) throw Oops.Oh("登录信息丢失");
var userRoles = await _userManager.GetUserRoleList(); var userRoles = await _userManager.GetUserRoleList();
var userOrg = await _userManager.GetUserOrgInfo(); var userOrg = await _userManager.GetUserOrgInfo();
var param = new DynamicParameters(); var param = new DynamicParameters();
if (userRoles.Where(r => r.Code == Enum.GetName(HouseManagerRole.HouseSecurityManager).ToUnderScoreCase()).Count() > 0) if (userRoles.Where(r => r.Code == Enum.GetName(HouseManagerRole.HouseSecurityManager).ToUnderScoreCase()).Any())
{ {
sql = String.Format(sql, " T.UserID=@UserID "); sql = String.Format(sql, " AND T.UserID=@UserID ");
param.Add("UserID", user.Id); param.Add("UserID", user.Id);
} }
if (userRoles.Where(r => r.Code == Enum.GetName(HouseManagerRole.ZoneManager).ToUnderScoreCase()).Count() > 0) if (userRoles.Where(r => r.Code == Enum.GetName(HouseManagerRole.ZoneManager).ToUnderScoreCase()).Any())
{ {
sql = String.Format(sql, " (T.Status=3 OR T.Status=6) AND HC.ZoneId = @ZoneId "); sql = String.Format(sql, " AND (T.Status=3 OR T.Status=6) AND HC.ZoneId = @ZoneId ");
param.Add("ZoneId", userOrg.Id); param.Add("ZoneId", userOrg.Id);
} }

View File

@@ -14,3 +14,5 @@ export { default as QueryList } from './query-list'
export { default as QueryTable } from './query-table' export { default as QueryTable } from './query-table'
export { default as QueryTableActions } from './query-table-actions' export { default as QueryTableActions } from './query-table-actions'
export { default as QueryTreeLayout } from './query-tree-layout' export { default as QueryTreeLayout } from './query-tree-layout'
export { default as HouseLog } from './business/house-log'

View File

@@ -1,5 +1,5 @@
import React, { Component } from 'react' import React, { Component } from 'react'
import { Card, Form, Input, message as Message, Radio, Select, Tag } from 'antd' import { Card, Checkbox, Form, Input, message as Message, Radio, Select, Tag } from 'antd'
import { Auth, Container, QueryTable, QueryTableActions } from 'components' import { Auth, Container, QueryTable, QueryTableActions } from 'components'
import { api } from 'common/api' import { api } from 'common/api'
import auth from 'components/authorized/handler' import auth from 'components/authorized/handler'
@@ -7,6 +7,7 @@ import { isEqual } from 'lodash'
import getDictData from 'util/dic' import getDictData from 'util/dic'
import { toCamelCase } from 'util/format' import { toCamelCase } from 'util/format'
import { getSearchInfo } from 'util/query' import { getSearchInfo } from 'util/query'
import { checkboxCheckedNone } from 'util/tool'
/** /**
* 注释段[\/**\/]为必须要改 * 注释段[\/**\/]为必须要改
@@ -245,12 +246,22 @@ export default class index extends Component {
columns={this.columns} columns={this.columns}
queryInitialValues={{ queryInitialValues={{
type: '', type: '',
state: 0, state: [-1, 0, 1, 2],
}} }}
onQueryChange={values => { onQueryChange={values => {
if (values.hasOwnProperty('type')) { if (values.hasOwnProperty('type')) {
this.setState({ type: values.type }) this.setState({ type: values.type })
} }
if (values.hasOwnProperty('state')) {
const value = checkboxCheckedNone({
value: values.state,
length: codes.houseStatus.length,
required: true,
})
return {
state: value,
}
}
}} }}
query={ query={
<Auth auth={{ [authName]: 'page' }}> <Auth auth={{ [authName]: 'page' }}>
@@ -286,14 +297,14 @@ export default class index extends Component {
<Input autoComplete="off" placeholder="请输入房屋唯一编码" /> <Input autoComplete="off" placeholder="请输入房屋唯一编码" />
</Form.Item> </Form.Item>
<Form.Item label="建档状态" name="state"> <Form.Item label="建档状态" name="state">
<Select allowClear className="w-150" placeholder="建档状态"> <Checkbox.Group>
<Select.Option value="">全部</Select.Option> <Checkbox value="">全部</Checkbox>
{codes.houseStatus.map(item => ( {codes.houseStatus.map(item => (
<Select.Option key={item.code} value={+item.code}> <Checkbox key={item.code} value={+item.code}>
{item.value} {item.value}
</Select.Option> </Checkbox>
))} ))}
</Select> </Checkbox.Group>
</Form.Item> </Form.Item>
</Auth> </Auth>
} }

View File

@@ -0,0 +1,23 @@
import { first, last } from "lodash"
export const checkboxCheckedNone = (arg) => {
let { value, length, noneValue, required } = arg
if (length === undefined) length = 2
if (noneValue === undefined) noneValue = ''
if (required === undefined) required = false
if (first(value) === noneValue && value.length > 1) {
// 在'无'之后选中其他值
value.shift()
} else if (
value.length >= length
||
(last(value) === noneValue && value.length > 1)
||
(!value.length && required)
) {
// 在其他值之后选中'无'
value = [noneValue]
}
return value
}