- 新增联系人保存与删除逻辑处理 - 新增工厂信息保存逻辑,支持银行、财务等详细信息 - 部门与员工模块接口参数调整,统一使用实体对象返回 - 优化部门与员工的增删改查操作,去除冗余代码 - 统一使用 constant 包管理业务类型常量 - 增加性别转换与整型数组转字符串工具函数 - RPC 注册新增工厂与联系人服务路由 - 调整客户端调用参数结构,增强代码可读性与维护性
This commit is contained in:
@@ -6,12 +6,10 @@ import (
|
||||
"ik3cloud/app/common"
|
||||
"ik3cloud/app/config"
|
||||
"ik3cloud/app/lib/ik3cloud"
|
||||
"ik3cloud/app/lib/logger"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
ik3cloud2 "git.kumo.work/shama/service/ik3cloud"
|
||||
"go.uber.org/zap"
|
||||
"git.kumo.work/shama/service/ik3cloud/constant"
|
||||
)
|
||||
|
||||
var DepartmentLogic = &departmentLogic{}
|
||||
@@ -29,7 +27,7 @@ type departmentItem struct {
|
||||
// All @TITLE 全部部门
|
||||
func (d *departmentLogic) All() (result []ik3cloud2.DepartmentItem, err error) {
|
||||
raw, err := ik3cloud.Client.BillQuery(map[string]any{
|
||||
"FormId": "BD_Department",
|
||||
"FormId": constant.ActionDepartment,
|
||||
"FieldKeys": "FNumber,FName,FParentID.FNumber,FParentID.FName,FDEPTID",
|
||||
"FilterString": []map[string]any{{
|
||||
"FieldName": "FUseOrgId.FNumber",
|
||||
@@ -60,53 +58,27 @@ func (d *departmentLogic) All() (result []ik3cloud2.DepartmentItem, err error) {
|
||||
}
|
||||
|
||||
// Add @TITLE 添加部门
|
||||
func (d *departmentLogic) Add(data ik3cloud2.ArgsDepartmentAdd) (departmentId int64, err error) {
|
||||
raw, err := ik3cloud.Client.Save("BD_Department", map[string]any{
|
||||
"Model": map[string]any{
|
||||
"FCreateOrgId": map[string]any{
|
||||
"FNumber": config.Config.Ik3cloud.OrganizationNumber,
|
||||
},
|
||||
"FNumber": data.Number,
|
||||
"FName": data.Name,
|
||||
"FUseOrgId": map[string]any{
|
||||
"FNumber": config.Config.Ik3cloud.OrganizationNumber,
|
||||
},
|
||||
"FEffectDate": time.Now().Format("2006-01-02 15:04:05"),
|
||||
"FLapseDate": "9999-12-31 00:00:00",
|
||||
"FGroup": map[string]any{
|
||||
"FNumber": data.GroupNumber,
|
||||
},
|
||||
"FParentID": map[string]any{
|
||||
"FNumber": data.ParentNumber,
|
||||
},
|
||||
"FIsCopyFlush": false,
|
||||
"FIsDetailDpt": false,
|
||||
func (d *departmentLogic) Add(data ik3cloud2.ArgsDepartmentAdd) (entity ik3cloud2.Entity, err error) {
|
||||
return ik3cloud.Client.Save(constant.ActionDepartment, nil, map[string]any{
|
||||
"FCreateOrgId": map[string]any{
|
||||
"FNumber": config.Config.Ik3cloud.OrganizationNumber,
|
||||
},
|
||||
"FNumber": data.Number,
|
||||
"FName": data.Name,
|
||||
"FUseOrgId": map[string]any{
|
||||
"FNumber": config.Config.Ik3cloud.OrganizationNumber,
|
||||
},
|
||||
"FEffectDate": time.Now().Format("2006-01-02 15:04:05"),
|
||||
"FLapseDate": "9999-12-31 00:00:00",
|
||||
"FGroup": map[string]any{
|
||||
"FNumber": data.GroupNumber,
|
||||
},
|
||||
"FParentID": map[string]any{
|
||||
"FNumber": data.ParentNumber,
|
||||
},
|
||||
"FIsCopyFlush": false,
|
||||
"FIsDetailDpt": false,
|
||||
})
|
||||
if err != nil {
|
||||
err = errors.New("添加部门失败")
|
||||
return
|
||||
}
|
||||
result, err := ik3cloud.Client.GetResult(raw)
|
||||
if err != nil {
|
||||
err = errors.New("添加部门失败")
|
||||
return
|
||||
}
|
||||
if !result.Result.ResponseStatus.IsSuccess {
|
||||
for _, item := range result.Result.ResponseStatus.Errors {
|
||||
return departmentId, errors.New(item.Message)
|
||||
}
|
||||
}
|
||||
departmentId = result.Result.Id
|
||||
if err1 := d.submit([]string{data.Number}); err1 != nil {
|
||||
logger.Logger.Error("部门提交失败", zap.Error(err1))
|
||||
return
|
||||
}
|
||||
if err1 := d.audit([]string{data.Number}); err1 != nil {
|
||||
logger.Logger.Error("部门审核失败", zap.Error(err1))
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Edit @TITLE 编辑部门
|
||||
@@ -114,52 +86,22 @@ func (d *departmentLogic) Edit(departmentId int64, data ik3cloud2.ArgsDepartment
|
||||
if departmentId == 0 {
|
||||
return errors.New("部门错误")
|
||||
}
|
||||
raw, err := ik3cloud.Client.Save("BD_Department", map[string]any{
|
||||
"NeedUpDateFields": []string{"FName", "FNumber", "FParentID.FNumber"},
|
||||
"Model": map[string]any{
|
||||
"FDEPTID": departmentId,
|
||||
"FNumber": data.Number,
|
||||
"FName": data.Name,
|
||||
"FParentID": map[string]any{
|
||||
"FNumber": data.ParentNumber,
|
||||
},
|
||||
if _, err := ik3cloud.Client.Save(constant.ActionDepartment, []string{"FName", "FNumber", "FParentID.FNumber"}, map[string]any{
|
||||
"FDEPTID": departmentId,
|
||||
"FNumber": data.Number,
|
||||
"FName": data.Name,
|
||||
"FParentID": map[string]any{
|
||||
"FNumber": data.ParentNumber,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
return errors.New("编辑部门失败")
|
||||
}
|
||||
result, _ := ik3cloud.Client.GetResult(raw)
|
||||
if !result.Result.ResponseStatus.IsSuccess {
|
||||
for _, item := range result.Result.ResponseStatus.Errors {
|
||||
return errors.New(item.Message)
|
||||
}
|
||||
return errors.New("编辑部门失败")
|
||||
}); err != nil {
|
||||
return errors.New("部门编辑失败")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Delete @TITLE 删除部门
|
||||
func (d *departmentLogic) Delete(numbers []string) error {
|
||||
if err := d.unAudit(numbers); err != nil {
|
||||
logger.Logger.Error("部门反审失败", zap.Error(err))
|
||||
}
|
||||
raw, err := ik3cloud.Client.Delete("BD_Department", map[string]any{
|
||||
"CreateOrgId": config.Config.Ik3cloud.OrganizationId,
|
||||
"Numbers": strings.Join(numbers, ","),
|
||||
})
|
||||
if err != nil {
|
||||
return errors.New("删除部门失败")
|
||||
}
|
||||
result, err := ik3cloud.Client.GetResult(raw)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !result.Result.ResponseStatus.IsSuccess {
|
||||
for _, item := range result.Result.ResponseStatus.Errors {
|
||||
return errors.New(item.Message)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
func (d *departmentLogic) Delete(numbers []string, ids []int64) error {
|
||||
return ik3cloud.Client.Delete(constant.ActionDepartment, numbers, ids)
|
||||
}
|
||||
|
||||
// @Title 获取菜单树
|
||||
@@ -182,66 +124,3 @@ func (d *departmentLogic) getTree(datas []ik3cloud2.DepartmentItem) (result []ik
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// @Title 提交
|
||||
func (d *departmentLogic) submit(numbers []string) error {
|
||||
raw, err := ik3cloud.Client.Submit("BD_Department", map[string]any{
|
||||
"CreateOrgId": config.Config.Ik3cloud.OrganizationId,
|
||||
"Numbers": strings.Join(numbers, ","),
|
||||
})
|
||||
if err != nil {
|
||||
return errors.New("部门提交失败")
|
||||
}
|
||||
result, err := ik3cloud.Client.GetResult(raw)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !result.Result.ResponseStatus.IsSuccess {
|
||||
for _, item := range result.Result.ResponseStatus.Errors {
|
||||
return errors.New(item.Message)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// @Title 审核
|
||||
func (d *departmentLogic) audit(numbers []string) error {
|
||||
raw, err := ik3cloud.Client.Audit("BD_Department", map[string]any{
|
||||
"CreateOrgId": config.Config.Ik3cloud.OrganizationId,
|
||||
"Numbers": strings.Join(numbers, ","),
|
||||
})
|
||||
if err != nil {
|
||||
return errors.New("部门审核失败")
|
||||
}
|
||||
result, err := ik3cloud.Client.GetResult(raw)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !result.Result.ResponseStatus.IsSuccess {
|
||||
for _, item := range result.Result.ResponseStatus.Errors {
|
||||
return errors.New(item.Message)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// @Title 反审
|
||||
func (d *departmentLogic) unAudit(numbers []string) error {
|
||||
raw, err := ik3cloud.Client.UnAudit("BD_Department", map[string]any{
|
||||
"CreateOrgId": config.Config.Ik3cloud.OrganizationId,
|
||||
"Numbers": strings.Join(numbers, ","),
|
||||
})
|
||||
if err != nil {
|
||||
return errors.New("部门反审失败")
|
||||
}
|
||||
result, err := ik3cloud.Client.GetResult(raw)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !result.Result.ResponseStatus.IsSuccess {
|
||||
for _, item := range result.Result.ResponseStatus.Errors {
|
||||
return errors.New(item.Message)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user