Merge branch 'master' into kehu

This commit is contained in:
贾译升 2021-04-07 10:55:37 +08:00
commit 02900387f5
72 changed files with 10655 additions and 0 deletions

View File

@ -0,0 +1,126 @@
package com.ruoyi.web.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmCandidate;
import com.ruoyi.system.service.IWkCrmCandidateService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 候选人Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/candidate")
public class WkCrmCandidateController extends BaseController
{
private String prefix = "system/candidate";
@Autowired
private IWkCrmCandidateService wkCrmCandidateService;
@RequiresPermissions("system:candidate:view")
@GetMapping()
public String candidate()
{
return prefix + "/candidate";
}
/**
* 查询候选人列表
*/
@RequiresPermissions("system:candidate:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmCandidate wkCrmCandidate)
{
startPage();
List<WkCrmCandidate> list = wkCrmCandidateService.selectWkCrmCandidateList(wkCrmCandidate);
return getDataTable(list);
}
/**
* 导出候选人列表
*/
@RequiresPermissions("system:candidate:export")
@Log(title = "候选人", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmCandidate wkCrmCandidate)
{
List<WkCrmCandidate> list = wkCrmCandidateService.selectWkCrmCandidateList(wkCrmCandidate);
ExcelUtil<WkCrmCandidate> util = new ExcelUtil<WkCrmCandidate>(WkCrmCandidate.class);
return util.exportExcel(list, "candidate");
}
/**
* 新增候选人
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存候选人
*/
@RequiresPermissions("system:candidate:add")
@Log(title = "候选人", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmCandidate wkCrmCandidate)
{
return toAjax(wkCrmCandidateService.insertWkCrmCandidate(wkCrmCandidate));
}
/**
* 修改候选人
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Integer id, ModelMap mmap)
{
WkCrmCandidate wkCrmCandidate = wkCrmCandidateService.selectWkCrmCandidateById(id);
mmap.put("wkCrmCandidate", wkCrmCandidate);
return prefix + "/edit";
}
/**
* 修改保存候选人
*/
@RequiresPermissions("system:candidate:edit")
@Log(title = "候选人", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmCandidate wkCrmCandidate)
{
return toAjax(wkCrmCandidateService.updateWkCrmCandidate(wkCrmCandidate));
}
/**
* 删除候选人
*/
@RequiresPermissions("system:candidate:remove")
@Log(title = "候选人", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmCandidateService.deleteWkCrmCandidateByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.web.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmOrganizationManagement;
import com.ruoyi.system.service.IWkCrmOrganizationManagementService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 组织管理Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/management")
public class WkCrmOrganizationManagementController extends BaseController
{
private String prefix = "system/management";
@Autowired
private IWkCrmOrganizationManagementService wkCrmOrganizationManagementService;
@RequiresPermissions("system:management:view")
@GetMapping()
public String management()
{
return prefix + "/management";
}
/**
* 查询组织管理列表
*/
@RequiresPermissions("system:management:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmOrganizationManagement wkCrmOrganizationManagement)
{
startPage();
List<WkCrmOrganizationManagement> list = wkCrmOrganizationManagementService.selectWkCrmOrganizationManagementList(wkCrmOrganizationManagement);
return getDataTable(list);
}
/**
* 导出组织管理列表
*/
@RequiresPermissions("system:management:export")
@Log(title = "组织管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmOrganizationManagement wkCrmOrganizationManagement)
{
List<WkCrmOrganizationManagement> list = wkCrmOrganizationManagementService.selectWkCrmOrganizationManagementList(wkCrmOrganizationManagement);
ExcelUtil<WkCrmOrganizationManagement> util = new ExcelUtil<WkCrmOrganizationManagement>(WkCrmOrganizationManagement.class);
return util.exportExcel(list, "management");
}
/**
* 新增组织管理
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存组织管理
*/
@RequiresPermissions("system:management:add")
@Log(title = "组织管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmOrganizationManagement wkCrmOrganizationManagement)
{
return toAjax(wkCrmOrganizationManagementService.insertWkCrmOrganizationManagement(wkCrmOrganizationManagement));
}
/**
* 修改组织管理
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
WkCrmOrganizationManagement wkCrmOrganizationManagement = wkCrmOrganizationManagementService.selectWkCrmOrganizationManagementById(id);
mmap.put("wkCrmOrganizationManagement", wkCrmOrganizationManagement);
return prefix + "/edit";
}
/**
* 修改保存组织管理
*/
@RequiresPermissions("system:management:edit")
@Log(title = "组织管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmOrganizationManagement wkCrmOrganizationManagement)
{
return toAjax(wkCrmOrganizationManagementService.updateWkCrmOrganizationManagement(wkCrmOrganizationManagement));
}
/**
* 删除组织管理
*/
@RequiresPermissions("system:management:remove")
@Log(title = "组织管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmOrganizationManagementService.deleteWkCrmOrganizationManagementByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.web.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmRecruitment;
import com.ruoyi.system.service.IWkCrmRecruitmentService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 招聘职位Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/recruitment")
public class WkCrmRecruitmentController extends BaseController
{
private String prefix = "system/recruitment";
@Autowired
private IWkCrmRecruitmentService wkCrmRecruitmentService;
@RequiresPermissions("system:recruitment:view")
@GetMapping()
public String recruitment()
{
return prefix + "/recruitment";
}
/**
* 查询招聘职位列表
*/
@RequiresPermissions("system:recruitment:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmRecruitment wkCrmRecruitment)
{
startPage();
List<WkCrmRecruitment> list = wkCrmRecruitmentService.selectWkCrmRecruitmentList(wkCrmRecruitment);
return getDataTable(list);
}
/**
* 导出招聘职位列表
*/
@RequiresPermissions("system:recruitment:export")
@Log(title = "招聘职位", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmRecruitment wkCrmRecruitment)
{
List<WkCrmRecruitment> list = wkCrmRecruitmentService.selectWkCrmRecruitmentList(wkCrmRecruitment);
ExcelUtil<WkCrmRecruitment> util = new ExcelUtil<WkCrmRecruitment>(WkCrmRecruitment.class);
return util.exportExcel(list, "recruitment");
}
/**
* 新增招聘职位
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存招聘职位
*/
@RequiresPermissions("system:recruitment:add")
@Log(title = "招聘职位", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmRecruitment wkCrmRecruitment)
{
return toAjax(wkCrmRecruitmentService.insertWkCrmRecruitment(wkCrmRecruitment));
}
/**
* 修改招聘职位
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
WkCrmRecruitment wkCrmRecruitment = wkCrmRecruitmentService.selectWkCrmRecruitmentById(id);
mmap.put("wkCrmRecruitment", wkCrmRecruitment);
return prefix + "/edit";
}
/**
* 修改保存招聘职位
*/
@RequiresPermissions("system:recruitment:edit")
@Log(title = "招聘职位", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmRecruitment wkCrmRecruitment)
{
return toAjax(wkCrmRecruitmentService.updateWkCrmRecruitment(wkCrmRecruitment));
}
/**
* 删除招聘职位
*/
@RequiresPermissions("system:recruitment:remove")
@Log(title = "招聘职位", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmRecruitmentService.deleteWkCrmRecruitmentByIds(ids));
}
}

View File

@ -0,0 +1,129 @@
package com.ruoyi.web.controller;
import java.util.List;
import com.ruoyi.system.service.IWkCrmCandidateService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmStaffManagement1;
import com.ruoyi.system.service.IWkCrmStaffManagement1Service;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 员工管理Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/management1")
public class WkCrmStaffManagement1Controller extends BaseController
{
private String prefix = "system/management1";
@Autowired
private IWkCrmStaffManagement1Service wkCrmStaffManagement1Service;
@RequiresPermissions("system:management1:view")
@GetMapping()
public String management1()
{
return prefix + "/management1";
}
/**
* 查询员工管理列表
*/
@RequiresPermissions("system:management1:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmStaffManagement1 wkCrmStaffManagement1)
{
startPage();
List<WkCrmStaffManagement1> list = wkCrmStaffManagement1Service.selectWkCrmStaffManagement1List(wkCrmStaffManagement1);
return getDataTable(list);
}
/**
* 导出员工管理列表
*/
@RequiresPermissions("system:management1:export")
@Log(title = "员工管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmStaffManagement1 wkCrmStaffManagement1)
{
List<WkCrmStaffManagement1> list = wkCrmStaffManagement1Service.selectWkCrmStaffManagement1List(wkCrmStaffManagement1);
ExcelUtil<WkCrmStaffManagement1> util = new ExcelUtil<WkCrmStaffManagement1>(WkCrmStaffManagement1.class);
return util.exportExcel(list, "management1");
}
/**
* 新增员工管理
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存员工管理
*/
@RequiresPermissions("system:management1:add")
@Log(title = "员工管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmStaffManagement1 wkCrmStaffManagement1)
{
return toAjax(wkCrmStaffManagement1Service.insertWkCrmStaffManagement1(wkCrmStaffManagement1));
}
/**
* 修改员工管理
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
WkCrmStaffManagement1 wkCrmStaffManagement1 = wkCrmStaffManagement1Service.selectWkCrmStaffManagement1ById(id);
mmap.put("wkCrmStaffManagement1", wkCrmStaffManagement1);
return prefix + "/edit";
}
/**
* 修改保存员工管理
*/
@RequiresPermissions("system:management1:edit")
@Log(title = "员工管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmStaffManagement1 wkCrmStaffManagement1)
{
return toAjax(wkCrmStaffManagement1Service.updateWkCrmStaffManagement1(wkCrmStaffManagement1));
}
/**
* 删除员工管理
*/
@RequiresPermissions("system:management1:remove")
@Log(title = "员工管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmStaffManagement1Service.deleteWkCrmStaffManagement1ByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmContacts;
import com.ruoyi.system.service.IWkCrmContactsService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 联系人Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/contacts")
public class WkCrmContactsController extends BaseController
{
private String prefix = "system/contacts";
@Autowired
private IWkCrmContactsService wkCrmContactsService;
@RequiresPermissions("system:contacts:view")
@GetMapping()
public String contacts()
{
return prefix + "/contacts";
}
/**
* 查询联系人列表
*/
@RequiresPermissions("system:contacts:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmContacts wkCrmContacts)
{
startPage();
List<WkCrmContacts> list = wkCrmContactsService.selectWkCrmContactsList(wkCrmContacts);
return getDataTable(list);
}
/**
* 导出联系人列表
*/
@RequiresPermissions("system:contacts:export")
@Log(title = "联系人", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmContacts wkCrmContacts)
{
List<WkCrmContacts> list = wkCrmContactsService.selectWkCrmContactsList(wkCrmContacts);
ExcelUtil<WkCrmContacts> util = new ExcelUtil<WkCrmContacts>(WkCrmContacts.class);
return util.exportExcel(list, "contacts");
}
/**
* 新增联系人
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存联系人
*/
@RequiresPermissions("system:contacts:add")
@Log(title = "联系人", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmContacts wkCrmContacts)
{
return toAjax(wkCrmContactsService.insertWkCrmContacts(wkCrmContacts));
}
/**
* 修改联系人
*/
@GetMapping("/edit/{contactsId}")
public String edit(@PathVariable("contactsId") Long contactsId, ModelMap mmap)
{
WkCrmContacts wkCrmContacts = wkCrmContactsService.selectWkCrmContactsById(contactsId);
mmap.put("wkCrmContacts", wkCrmContacts);
return prefix + "/edit";
}
/**
* 修改保存联系人
*/
@RequiresPermissions("system:contacts:edit")
@Log(title = "联系人", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmContacts wkCrmContacts)
{
return toAjax(wkCrmContactsService.updateWkCrmContacts(wkCrmContacts));
}
/**
* 删除联系人
*/
@RequiresPermissions("system:contacts:remove")
@Log(title = "联系人", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmContactsService.deleteWkCrmContactsByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmCustomer;
import com.ruoyi.system.service.IWkCrmCustomerService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 客户Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/customer")
public class WkCrmCustomerController extends BaseController
{
private String prefix = "system/customer";
@Autowired
private IWkCrmCustomerService wkCrmCustomerService;
@RequiresPermissions("system:customer:view")
@GetMapping()
public String customer()
{
return prefix + "/customer";
}
/**
* 查询客户列表
*/
@RequiresPermissions("system:customer:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmCustomer wkCrmCustomer)
{
startPage();
List<WkCrmCustomer> list = wkCrmCustomerService.selectWkCrmCustomerList(wkCrmCustomer);
return getDataTable(list);
}
/**
* 导出客户列表
*/
@RequiresPermissions("system:customer:export")
@Log(title = "客户", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmCustomer wkCrmCustomer)
{
List<WkCrmCustomer> list = wkCrmCustomerService.selectWkCrmCustomerList(wkCrmCustomer);
ExcelUtil<WkCrmCustomer> util = new ExcelUtil<WkCrmCustomer>(WkCrmCustomer.class);
return util.exportExcel(list, "customer");
}
/**
* 新增客户
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存客户
*/
@RequiresPermissions("system:customer:add")
@Log(title = "客户", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmCustomer wkCrmCustomer)
{
return toAjax(wkCrmCustomerService.insertWkCrmCustomer(wkCrmCustomer));
}
/**
* 修改客户
*/
@GetMapping("/edit/{customerId}")
public String edit(@PathVariable("customerId") Long customerId, ModelMap mmap)
{
WkCrmCustomer wkCrmCustomer = wkCrmCustomerService.selectWkCrmCustomerById(customerId);
mmap.put("wkCrmCustomer", wkCrmCustomer);
return prefix + "/edit";
}
/**
* 修改保存客户
*/
@RequiresPermissions("system:customer:edit")
@Log(title = "客户", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmCustomer wkCrmCustomer)
{
return toAjax(wkCrmCustomerService.updateWkCrmCustomer(wkCrmCustomer));
}
/**
* 删除客户
*/
@RequiresPermissions("system:customer:remove")
@Log(title = "客户", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmCustomerService.deleteWkCrmCustomerByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmCustomerPool;
import com.ruoyi.system.service.IWkCrmCustomerPoolService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 公海Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/pool")
public class WkCrmCustomerPoolController extends BaseController
{
private String prefix = "system/pool";
@Autowired
private IWkCrmCustomerPoolService wkCrmCustomerPoolService;
@RequiresPermissions("system:pool:view")
@GetMapping()
public String pool()
{
return prefix + "/pool";
}
/**
* 查询公海列表
*/
@RequiresPermissions("system:pool:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmCustomerPool wkCrmCustomerPool)
{
startPage();
List<WkCrmCustomerPool> list = wkCrmCustomerPoolService.selectWkCrmCustomerPoolList(wkCrmCustomerPool);
return getDataTable(list);
}
/**
* 导出公海列表
*/
@RequiresPermissions("system:pool:export")
@Log(title = "公海", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmCustomerPool wkCrmCustomerPool)
{
List<WkCrmCustomerPool> list = wkCrmCustomerPoolService.selectWkCrmCustomerPoolList(wkCrmCustomerPool);
ExcelUtil<WkCrmCustomerPool> util = new ExcelUtil<WkCrmCustomerPool>(WkCrmCustomerPool.class);
return util.exportExcel(list, "pool");
}
/**
* 新增公海
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存公海
*/
@RequiresPermissions("system:pool:add")
@Log(title = "公海", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmCustomerPool wkCrmCustomerPool)
{
return toAjax(wkCrmCustomerPoolService.insertWkCrmCustomerPool(wkCrmCustomerPool));
}
/**
* 修改公海
*/
@GetMapping("/edit/{poolId}")
public String edit(@PathVariable("poolId") Long poolId, ModelMap mmap)
{
WkCrmCustomerPool wkCrmCustomerPool = wkCrmCustomerPoolService.selectWkCrmCustomerPoolById(poolId);
mmap.put("wkCrmCustomerPool", wkCrmCustomerPool);
return prefix + "/edit";
}
/**
* 修改保存公海
*/
@RequiresPermissions("system:pool:edit")
@Log(title = "公海", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmCustomerPool wkCrmCustomerPool)
{
return toAjax(wkCrmCustomerPoolService.updateWkCrmCustomerPool(wkCrmCustomerPool));
}
/**
* 删除公海
*/
@RequiresPermissions("system:pool:remove")
@Log(title = "公海", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmCustomerPoolService.deleteWkCrmCustomerPoolByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.WkCrmLeads;
import com.ruoyi.system.service.IWkCrmLeadsService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 线索Controller
*
* @author ruoyi
* @date 2021-04-06
*/
@Controller
@RequestMapping("/system/leads")
public class WkCrmLeadsController extends BaseController
{
private String prefix = "system/leads";
@Autowired
private IWkCrmLeadsService wkCrmLeadsService;
@RequiresPermissions("system:leads:view")
@GetMapping()
public String leads()
{
return prefix + "/leads";
}
/**
* 查询线索列表
*/
@RequiresPermissions("system:leads:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WkCrmLeads wkCrmLeads)
{
startPage();
List<WkCrmLeads> list = wkCrmLeadsService.selectWkCrmLeadsList(wkCrmLeads);
return getDataTable(list);
}
/**
* 导出线索列表
*/
@RequiresPermissions("system:leads:export")
@Log(title = "线索", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WkCrmLeads wkCrmLeads)
{
List<WkCrmLeads> list = wkCrmLeadsService.selectWkCrmLeadsList(wkCrmLeads);
ExcelUtil<WkCrmLeads> util = new ExcelUtil<WkCrmLeads>(WkCrmLeads.class);
return util.exportExcel(list, "leads");
}
/**
* 新增线索
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存线索
*/
@RequiresPermissions("system:leads:add")
@Log(title = "线索", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WkCrmLeads wkCrmLeads)
{
return toAjax(wkCrmLeadsService.insertWkCrmLeads(wkCrmLeads));
}
/**
* 修改线索
*/
@GetMapping("/edit/{leadsId}")
public String edit(@PathVariable("leadsId") Long leadsId, ModelMap mmap)
{
WkCrmLeads wkCrmLeads = wkCrmLeadsService.selectWkCrmLeadsById(leadsId);
mmap.put("wkCrmLeads", wkCrmLeads);
return prefix + "/edit";
}
/**
* 修改保存线索
*/
@RequiresPermissions("system:leads:edit")
@Log(title = "线索", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WkCrmLeads wkCrmLeads)
{
return toAjax(wkCrmLeadsService.updateWkCrmLeads(wkCrmLeads));
}
/**
* 删除线索
*/
@RequiresPermissions("system:leads:remove")
@Log(title = "线索", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wkCrmLeadsService.deleteWkCrmLeadsByIds(ids));
}
}

View File

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增候选人')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-candidate-add">
<div class="form-group">
<label class="col-sm-3 control-label">应聘职位:</label>
<div class="col-sm-8">
<input name="position" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用人部门:</label>
<div class="col-sm-8">
<input name="department" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">候选人状态:</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="candidateStatus" value="">
<label th:for="candidateStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机号:</label>
<div class="col-sm-8">
<input name="phone" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">性别:</label>
<div class="col-sm-8">
<input name="gender" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">年龄:</label>
<div class="col-sm-8">
<input name="age" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="email" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘负责人:</label>
<div class="col-sm-8">
<input name="boss" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作年限:</label>
<div class="col-sm-8">
<input name="workingYears" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">学历:</label>
<div class="col-sm-8">
<input name="education" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">毕业院校:</label>
<div class="col-sm-8">
<input name="graduate" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最近工作单位:</label>
<div class="col-sm-8">
<input name="work" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘渠道:</label>
<div class="col-sm-8">
<input name="recruitment" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="interview" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试轮次:</label>
<div class="col-sm-8">
<input name="degree" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试官:</label>
<div class="col-sm-8">
<input name="interviewer" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试方式:</label>
<div class="col-sm-8">
<input name="waysOfIntervie" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">其他面试官:</label>
<div class="col-sm-8">
<input name="elseInterviewer" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">创建时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="creation" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/candidate"
$("#form-candidate-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-candidate-add').serialize());
}
}
$("input[name='interview']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='creation']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,233 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('候选人列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>应聘职位:</label>
<input type="text" name="position"/>
</li>
<li>
<label>用人部门:</label>
<input type="text" name="department"/>
</li>
<li>
<label>候选人状态:</label>
<select name="candidateStatus">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
<label>手机号:</label>
<input type="text" name="phone"/>
</li>
<li>
<label>性别:</label>
<input type="text" name="gender"/>
</li>
<li>
<label>年龄:</label>
<input type="text" name="age"/>
</li>
<li>
<label>邮箱:</label>
<input type="text" name="email"/>
</li>
<li>
<label>招聘负责人:</label>
<input type="text" name="boss"/>
</li>
<li>
<label>工作年限:</label>
<input type="text" name="workingYears"/>
</li>
<li>
<label>学历:</label>
<input type="text" name="education"/>
</li>
<li>
<label>毕业院校:</label>
<input type="text" name="graduate"/>
</li>
<li>
<label>最近工作单位:</label>
<input type="text" name="work"/>
</li>
<li>
<label>招聘渠道:</label>
<input type="text" name="recruitment"/>
</li>
<li>
<label>面试时间:</label>
<input type="text" class="time-input" placeholder="请选择面试时间" name="interview"/>
</li>
<li>
<label>面试轮次:</label>
<input type="text" name="degree"/>
</li>
<li>
<label>面试官:</label>
<input type="text" name="interviewer"/>
</li>
<li>
<label>面试方式:</label>
<input type="text" name="waysOfIntervie"/>
</li>
<li>
<label>其他面试官:</label>
<input type="text" name="elseInterviewer"/>
</li>
<li>
<label>创建时间:</label>
<input type="text" class="time-input" placeholder="请选择创建时间" name="creation"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:candidate:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:candidate:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:candidate:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:candidate:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:candidate:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:candidate:remove')}]];
var prefix = ctx + "system/candidate";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "候选人",
columns: [{
checkbox: true
},
{
field: 'id',
title: 'id',
visible: false
},
{
field: 'position',
title: '应聘职位'
},
{
field: 'department',
title: '用人部门'
},
{
field: 'candidateStatus',
title: '候选人状态'
},
{
field: 'phone',
title: '手机号'
},
{
field: 'gender',
title: '性别'
},
{
field: 'age',
title: '年龄'
},
{
field: 'email',
title: '邮箱'
},
{
field: 'boss',
title: '招聘负责人'
},
{
field: 'workingYears',
title: '工作年限'
},
{
field: 'education',
title: '学历'
},
{
field: 'graduate',
title: '毕业院校'
},
{
field: 'work',
title: '最近工作单位'
},
{
field: 'recruitment',
title: '招聘渠道'
},
{
field: 'interview',
title: '面试时间'
},
{
field: 'degree',
title: '面试轮次'
},
{
field: 'interviewer',
title: '面试官'
},
{
field: 'waysOfIntervie',
title: '面试方式'
},
{
field: 'elseInterviewer',
title: '其他面试官'
},
{
field: 'creation',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,164 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改候选人')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-candidate-edit" th:object="${wkCrmCandidate}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">应聘职位:</label>
<div class="col-sm-8">
<input name="position" th:field="*{position}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用人部门:</label>
<div class="col-sm-8">
<input name="department" th:field="*{department}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">候选人状态:</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="candidateStatus" value="">
<label th:for="candidateStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机号:</label>
<div class="col-sm-8">
<input name="phone" th:field="*{phone}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">性别:</label>
<div class="col-sm-8">
<input name="gender" th:field="*{gender}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">年龄:</label>
<div class="col-sm-8">
<input name="age" th:field="*{age}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="email" th:field="*{email}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘负责人:</label>
<div class="col-sm-8">
<input name="boss" th:field="*{boss}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作年限:</label>
<div class="col-sm-8">
<input name="workingYears" th:field="*{workingYears}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">学历:</label>
<div class="col-sm-8">
<input name="education" th:field="*{education}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">毕业院校:</label>
<div class="col-sm-8">
<input name="graduate" th:field="*{graduate}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最近工作单位:</label>
<div class="col-sm-8">
<input name="work" th:field="*{work}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘渠道:</label>
<div class="col-sm-8">
<input name="recruitment" th:field="*{recruitment}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="interview" th:value="${#dates.format(wkCrmCandidate.interview, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试轮次:</label>
<div class="col-sm-8">
<input name="degree" th:field="*{degree}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试官:</label>
<div class="col-sm-8">
<input name="interviewer" th:field="*{interviewer}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">面试方式:</label>
<div class="col-sm-8">
<input name="waysOfIntervie" th:field="*{waysOfIntervie}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">其他面试官:</label>
<div class="col-sm-8">
<input name="elseInterviewer" th:field="*{elseInterviewer}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">创建时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="creation" th:value="${#dates.format(wkCrmCandidate.creation, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/candidate";
$("#form-candidate-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-candidate-edit').serialize());
}
}
$("input[name='interview']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='creation']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,123 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增联系人')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-contacts-add">
<div class="form-group">
<label class="col-sm-3 control-label">联系人名称:</label>
<div class="col-sm-8">
<input name="name" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">下次联系时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="nextTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机:</label>
<div class="col-sm-8">
<input name="mobile" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话:</label>
<div class="col-sm-8">
<input name="telephone" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电子邮箱:</label>
<div class="col-sm-8">
<input name="email" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">职务:</label>
<div class="col-sm-8">
<input name="post" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户ID</label>
<div class="col-sm-8">
<input name="customerId" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">地址:</label>
<div class="col-sm-8">
<textarea name="address" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">创建人ID</label>
<div class="col-sm-8">
<input name="createUserId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">负责人ID</label>
<div class="col-sm-8">
<input name="ownerUserId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">批次:</label>
<div class="col-sm-8">
<input name="batchId" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后跟进时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lastTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/contacts"
$("#form-contacts-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-contacts-add').serialize());
}
}
$("input[name='nextTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='lastTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,174 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('联系人列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>联系人名称:</label>
<input type="text" name="name"/>
</li>
<!--<li>
<label>下次联系时间:</label>
<input type="text" class="time-input" placeholder="请选择下次联系时间" name="nextTime"/>
</li>-->
<li>
<label>手机:</label>
<input type="text" name="mobile"/>
</li>
<li>
<label>电话:</label>
<input type="text" name="telephone"/>
</li>
<!--<li>
<label>电子邮箱:</label>
<input type="text" name="email"/>
</li>
<li>
<label>职务:</label>
<input type="text" name="post"/>
</li>
<li>
<label>客户ID</label>
<input type="text" name="customerId"/>
</li>
<li>
<label>创建人ID</label>
<input type="text" name="createUserId"/>
</li>
<li>
<label>负责人ID</label>
<input type="text" name="ownerUserId"/>
</li>
<li>
<label>批次:</label>
<input type="text" name="batchId"/>
</li>
<li>
<label>最后跟进时间:</label>
<input type="text" class="time-input" placeholder="请选择最后跟进时间" name="lastTime"/>
</li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:contacts:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:contacts:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:contacts:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:contacts:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:contacts:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:contacts:remove')}]];
var prefix = ctx + "system/contacts";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "联系人",
columns: [{
checkbox: true
},
{
field: 'contactsId',
title: '',
visible: false
},
{
field: 'name',
title: '联系人名称'
},
{
field: 'nextTime',
title: '下次联系时间'
},
{
field: 'mobile',
title: '手机'
},
{
field: 'telephone',
title: '电话'
},
{
field: 'email',
title: '电子邮箱'
},
{
field: 'post',
title: '职务'
},
{
field: 'customerId',
title: '客户ID'
},
{
field: 'address',
title: '地址'
},
{
field: 'remark',
title: '备注'
},
{
field: 'createUserId',
title: '创建人ID'
},
{
field: 'ownerUserId',
title: '负责人ID'
},
/*{
field: 'batchId',
title: '批次'
},*/
{
field: 'lastTime',
title: '最后跟进时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.contactsId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.contactsId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改联系人')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-contacts-edit" th:object="${wkCrmContacts}">
<input name="contactsId" th:field="*{contactsId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">联系人名称:</label>
<div class="col-sm-8">
<input name="name" th:field="*{name}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">下次联系时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="nextTime" th:value="${#dates.format(wkCrmContacts.nextTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机:</label>
<div class="col-sm-8">
<input name="mobile" th:field="*{mobile}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话:</label>
<div class="col-sm-8">
<input name="telephone" th:field="*{telephone}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电子邮箱:</label>
<div class="col-sm-8">
<input name="email" th:field="*{email}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">职务:</label>
<div class="col-sm-8">
<input name="post" th:field="*{post}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户ID</label>
<div class="col-sm-8">
<input name="customerId" th:field="*{customerId}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">地址:</label>
<div class="col-sm-8">
<textarea name="address" class="form-control">[[*{address}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control">[[*{remark}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">创建人ID</label>
<div class="col-sm-8">
<input name="createUserId" th:field="*{createUserId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">负责人ID</label>
<div class="col-sm-8">
<input name="ownerUserId" th:field="*{ownerUserId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">批次:</label>
<div class="col-sm-8">
<input name="batchId" th:field="*{batchId}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后跟进时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lastTime" th:value="${#dates.format(wkCrmContacts.lastTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/contacts";
$("#form-contacts-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-contacts-edit').serialize());
}
}
$("input[name='nextTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='lastTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,240 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增客户')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-customer-add">
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">下次联系时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="nextTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成交状态 0 未成交 1 已成交:</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="dealStatus" value="">
<label th:for="dealStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成交时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="dealTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机:</label>
<div class="col-sm-8">
<input name="mobile" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话:</label>
<div class="col-sm-8">
<input name="telephone" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">网址:</label>
<div class="col-sm-8">
<textarea name="website" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="email" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">创建人ID</label>
<div class="col-sm-8">
<input name="createUserId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">负责人ID</label>
<div class="col-sm-8">
<input name="ownerUserId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">只读权限:</label>
<div class="col-sm-8">
<textarea name="roUserId" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">读写权限:</label>
<div class="col-sm-8">
<textarea name="rwUserId" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">详细地址:</label>
<div class="col-sm-8">
<input name="detailAddress" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">批次 比如附件批次:</label>
<div class="col-sm-8">
<input name="batchId" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后跟进时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lastTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">放入公海时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="poolTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">1 分配 2 领取:</label>
<div class="col-sm-8">
<input name="isReceive" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后一条跟进记录:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" name="lastContent">
<div class="summernote" id="lastContent"></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">接收到客户时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="receiveTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">进入公海前负责人id</label>
<div class="col-sm-8">
<input name="preOwnerUserId" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "system/customer"
$("#form-customer-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-customer-add').serialize());
}
}
$("input[name='nextTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='dealTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='lastTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='poolTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='receiveTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(function() {
$('.summernote').summernote({
lang: 'zh-CN',
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,234 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('客户列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>客户名称:</label>
<input type="text" name="customerName"/>
</li>
<!--<li>
<label>下次联系时间:</label>
<input type="text" class="time-input" placeholder="请选择下次联系时间" name="nextTime"/>
</li>
<li>
<label>成交状态 0 未成交 1 已成交:</label>
<select name="dealStatus">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>-->
<!--<li>
<label>成交时间:</label>
<input type="text" class="time-input" placeholder="请选择成交时间" name="dealTime"/>
</li>-->
<li>
<label>手机:</label>
<input type="text" name="mobile"/>
</li>
<li>
<label>电话:</label>
<input type="text" name="telephone"/>
</li>
<!-- <li>
<label>邮箱:</label>
<input type="text" name="email"/>
</li>
<li>
<label>创建人ID</label>
<input type="text" name="createUserId"/>
</li>
<li>
<label>负责人ID</label>
<input type="text" name="ownerUserId"/>
</li>
<li>
<label>详细地址:</label>
<input type="text" name="detailAddress"/>
</li>-->
<!--<li>
<label>批次 比如附件批次:</label>
<input type="text" name="batchId"/>
</li>
<li>
<label>最后跟进时间:</label>
<input type="text" class="time-input" placeholder="请选择最后跟进时间" name="lastTime"/>
</li>
<li>
<label>放入公海时间:</label>
<input type="text" class="time-input" placeholder="请选择放入公海时间" name="poolTime"/>
</li>
<li>
<label>1 分配 2 领取:</label>
<input type="text" name="isReceive"/>
</li>
<li>
<label>接收到客户时间:</label>
<input type="text" class="time-input" placeholder="请选择接收到客户时间" name="receiveTime"/>
</li>
<li>
<label>进入公海前负责人id</label>
<input type="text" name="preOwnerUserId"/>
</li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
<li>
<button style="font-size: 20px" >
<a href="/system/pool">进入公海</a>
</button>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:customer:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:customer:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:customer:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:customer:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:customer:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:customer:remove')}]];
var prefix = ctx + "system/customer";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "客户",
columns: [{
checkbox: true
},
{
field: 'customerId',
title: 'id',
visible: false
},
{
field: 'customerName',
title: '客户名称'
},
{
field: 'nextTime',
title: '下次联系时间'
},
{
field: 'dealStatus',
title: '成交状态 0 未成交 1 已成交'
},
{
field: 'dealTime',
title: '成交时间'
},
{
field: 'mobile',
title: '手机'
},
{
field: 'telephone',
title: '电话'
},
{
field: 'website',
title: '网址'
},
{
field: 'email',
title: '邮箱'
},
{
field: 'remark',
title: '备注'
},
{
field: 'createUserId',
title: '创建人ID'
},
{
field: 'ownerUserId',
title: '负责人ID'
},
{
field: 'roUserId',
title: '只读权限'
},
{
field: 'rwUserId',
title: '读写权限'
},
{
field: 'detailAddress',
title: '详细地址'
},
{
field: 'batchId',
title: '批次 比如附件批次'
},
{
field: 'lastTime',
title: '最后跟进时间'
},
{
field: 'poolTime',
title: '放入公海时间'
},
{
field: 'isReceive',
title: '1 分配 2 领取'
},
{
field: 'lastContent',
title: '最后一条跟进记录'
},
{
field: 'receiveTime',
title: '接收到客户时间'
},
{
field: 'preOwnerUserId',
title: '进入公海前负责人id'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.customerId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.customerId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,245 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改客户')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-customer-edit" th:object="${wkCrmCustomer}">
<input name="customerId" th:field="*{customerId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" th:field="*{customerName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">下次联系时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="nextTime" th:value="${#dates.format(wkCrmCustomer.nextTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成交状态 0 未成交 1 已成交:</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="dealStatus" value="">
<label th:for="dealStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成交时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="dealTime" th:value="${#dates.format(wkCrmCustomer.dealTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机:</label>
<div class="col-sm-8">
<input name="mobile" th:field="*{mobile}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话:</label>
<div class="col-sm-8">
<input name="telephone" th:field="*{telephone}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">网址:</label>
<div class="col-sm-8">
<textarea name="website" class="form-control">[[*{website}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="email" th:field="*{email}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control">[[*{remark}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">创建人ID</label>
<div class="col-sm-8">
<input name="createUserId" th:field="*{createUserId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">负责人ID</label>
<div class="col-sm-8">
<input name="ownerUserId" th:field="*{ownerUserId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">只读权限:</label>
<div class="col-sm-8">
<textarea name="roUserId" class="form-control">[[*{roUserId}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">读写权限:</label>
<div class="col-sm-8">
<textarea name="rwUserId" class="form-control">[[*{rwUserId}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">详细地址:</label>
<div class="col-sm-8">
<input name="detailAddress" th:field="*{detailAddress}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">批次 比如附件批次:</label>
<div class="col-sm-8">
<input name="batchId" th:field="*{batchId}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后跟进时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lastTime" th:value="${#dates.format(wkCrmCustomer.lastTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">放入公海时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="poolTime" th:value="${#dates.format(wkCrmCustomer.poolTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">1 分配 2 领取:</label>
<div class="col-sm-8">
<input name="isReceive" th:field="*{isReceive}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后一条跟进记录:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" th:field="*{lastContent}">
<div class="summernote" id="lastContent"></div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">接收到客户时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="receiveTime" th:value="${#dates.format(wkCrmCustomer.receiveTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">进入公海前负责人id</label>
<div class="col-sm-8">
<input name="preOwnerUserId" th:field="*{preOwnerUserId}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "system/customer";
$("#form-customer-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-customer-edit').serialize());
}
}
$("input[name='nextTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='dealTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='lastTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='poolTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='receiveTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(function() {
$('.summernote').each(function(i) {
$('#' + this.id).summernote({
lang: 'zh-CN',
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
var content = $("input[name='" + this.id + "']").val();
$('#' + this.id).summernote('code', content);
})
});
</script>
</body>
</html>

View File

@ -0,0 +1,155 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增线索')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-leads-add">
<div class="form-group">
<label class="col-sm-3 control-label">跟进状态 0未跟进1已跟进</label>
<div class="col-sm-8">
<input name="followup" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">线索名称:</label>
<div class="col-sm-8">
<input name="leadsName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">下次联系时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="nextTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话:</label>
<div class="col-sm-8">
<input name="telephone" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机号:</label>
<div class="col-sm-8">
<input name="mobile" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="email" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">地址:</label>
<div class="col-sm-8">
<input name="address" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">创建人ID</label>
<div class="col-sm-8">
<input name="createUserId" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">负责人ID</label>
<div class="col-sm-8">
<input name="ownerUserId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后跟进时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lastTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后一条跟进记录:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" name="lastContent">
<div class="summernote" id="lastContent"></div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "system/leads"
$("#form-leads-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-leads-add').serialize());
}
}
$("input[name='nextTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='lastTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(function() {
$('.summernote').summernote({
lang: 'zh-CN',
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,160 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改线索')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-leads-edit" th:object="${wkCrmLeads}">
<input name="leadsId" th:field="*{leadsId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">跟进状态 0未跟进1已跟进</label>
<div class="col-sm-8">
<input name="followup" th:field="*{followup}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">线索名称:</label>
<div class="col-sm-8">
<input name="leadsName" th:field="*{leadsName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">下次联系时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="nextTime" th:value="${#dates.format(wkCrmLeads.nextTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">电话:</label>
<div class="col-sm-8">
<input name="telephone" th:field="*{telephone}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机号:</label>
<div class="col-sm-8">
<input name="mobile" th:field="*{mobile}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">邮箱:</label>
<div class="col-sm-8">
<input name="email" th:field="*{email}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">地址:</label>
<div class="col-sm-8">
<input name="address" th:field="*{address}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control">[[*{remark}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">创建人ID</label>
<div class="col-sm-8">
<input name="createUserId" th:field="*{createUserId}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">负责人ID</label>
<div class="col-sm-8">
<input name="ownerUserId" th:field="*{ownerUserId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后跟进时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lastTime" th:value="${#dates.format(wkCrmLeads.lastTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最后一条跟进记录:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" th:field="*{lastContent}">
<div class="summernote" id="lastContent"></div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "system/leads";
$("#form-leads-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-leads-edit').serialize());
}
}
$("input[name='nextTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='lastTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(function() {
$('.summernote').each(function(i) {
$('#' + this.id).summernote({
lang: 'zh-CN',
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
var content = $("input[name='" + this.id + "']").val();
$('#' + this.id).summernote('code', content);
})
});
</script>
</body>
</html>

View File

@ -0,0 +1,166 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('线索列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<!-- <li>
<label>跟进状态 0未跟进1已跟进</label>
<input type="text" name="followup"/>
</li>-->
<li>
<label>线索名称:</label>
<input type="text" name="leadsName"/>
</li>
<!--<li>
<label>下次联系时间:</label>
<input type="text" class="time-input" placeholder="请选择下次联系时间" name="nextTime"/>
</li>-->
<li>
<label>电话:</label>
<input type="text" name="telephone"/>
</li>
<li>
<label>手机号:</label>
<input type="text" name="mobile"/>
</li>
<!--<li>
<label>邮箱:</label>
<input type="text" name="email"/>
</li>-->
<li>
<label>地址:</label>
<input type="text" name="address"/>
</li>
<!--<li>
<label>创建人ID</label>
<input type="text" name="createUserId"/>
</li>
<li>
<label>负责人ID</label>
<input type="text" name="ownerUserId"/>
</li>
<li>
<label>最后跟进时间:</label>
<input type="text" class="time-input" placeholder="请选择最后跟进时间" name="lastTime"/>
</li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:leads:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:leads:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:leads:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:leads:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:leads:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:leads:remove')}]];
var prefix = ctx + "system/leads";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "线索",
columns: [{
checkbox: true
},
{
field: 'leadsId',
title: '',
visible: false
},
/*{
field: 'followup',
title: '跟进状态 0未跟进1已跟进'
},*/
{
field: 'leadsName',
title: '线索名称'
},
{
field: 'nextTime',
title: '下次联系时间'
},
{
field: 'telephone',
title: '电话'
},
{
field: 'mobile',
title: '手机号'
},
{
field: 'email',
title: '邮箱'
},
{
field: 'address',
title: '地址'
},
{
field: 'remark',
title: '备注'
},
{
field: 'createUserId',
title: '创建人ID'
},
{
field: 'ownerUserId',
title: '负责人ID'
},
{
field: 'lastTime',
title: '最后跟进时间'
},
{
field: 'lastContent',
title: '最后一条跟进记录'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.leadsId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.leadsId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增组织管理')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-management-add">
<div class="form-group">
<label class="col-sm-3 control-label">公司:</label>
<div class="col-sm-8">
<input name="company" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">总经理:</label>
<div class="col-sm-8">
<input name="generalManager" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">行政部:</label>
<div class="col-sm-8">
<input name="administrationSection" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">人事部:</label>
<div class="col-sm-8">
<input name="ministryPersonnel" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">财务部:</label>
<div class="col-sm-8">
<input name="accountingDepartment" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">研发部:</label>
<div class="col-sm-8">
<input name="researchDevelopment" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">市场部:</label>
<div class="col-sm-8">
<input name="bazaar" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/management"
$("#form-management-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-management-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改组织管理')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-management-edit" th:object="${wkCrmOrganizationManagement}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">公司:</label>
<div class="col-sm-8">
<input name="company" th:field="*{company}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">总经理:</label>
<div class="col-sm-8">
<input name="generalManager" th:field="*{generalManager}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">行政部:</label>
<div class="col-sm-8">
<input name="administrationSection" th:field="*{administrationSection}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">人事部:</label>
<div class="col-sm-8">
<input name="ministryPersonnel" th:field="*{ministryPersonnel}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">财务部:</label>
<div class="col-sm-8">
<input name="accountingDepartment" th:field="*{accountingDepartment}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">研发部:</label>
<div class="col-sm-8">
<input name="researchDevelopment" th:field="*{researchDevelopment}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">市场部:</label>
<div class="col-sm-8">
<input name="bazaar" th:field="*{bazaar}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/management";
$("#form-management-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-management-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('组织管理列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>公司:</label>
<input type="text" name="company"/>
</li>
<li>
<label>总经理:</label>
<input type="text" name="generalManager"/>
</li>
<li>
<label>行政部:</label>
<input type="text" name="administrationSection"/>
</li>
<li>
<label>人事部:</label>
<input type="text" name="ministryPersonnel"/>
</li>
<li>
<label>财务部:</label>
<input type="text" name="accountingDepartment"/>
</li>
<li>
<label>研发部:</label>
<input type="text" name="researchDevelopment"/>
</li>
<li>
<label>市场部:</label>
<input type="text" name="bazaar"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:management:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:management:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:management:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:management:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:management:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:management:remove')}]];
var prefix = ctx + "system/management";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "组织管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: '',
visible: false
},
{
field: 'company',
title: '公司'
},
{
field: 'generalManager',
title: '总经理'
},
{
field: 'administrationSection',
title: '行政部'
},
{
field: 'ministryPersonnel',
title: '人事部'
},
{
field: 'accountingDepartment',
title: '财务部'
},
{
field: 'researchDevelopment',
title: '研发部'
},
{
field: 'bazaar',
title: '市场部'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,395 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增员工管理')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-management1-add">
<div class="form-group">
<label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8">
<input name="name" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机号:</label>
<div class="col-sm-8">
<input name="mobilePhone" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">证件类型:</label>
<div class="col-sm-8">
<!-- <select name="certificateType" class="form-control m-b">-->
<!-- <option value="" ></option>-->
<!-- </select>-->
<!-- <span class="help-block m-b-none"><i class="fa fa-info-circle"></i></span>-->
<input name="identityCard" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">证件号码:</label>
<div class="col-sm-8">
<input name="certificateId" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">性别:</label>
<div class="col-sm-8">
<input name="gender" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出生日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="birthdayDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">生日:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="birthday" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">年龄:</label>
<div class="col-sm-8">
<input name="age" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">是否已婚:</label>
<div class="col-sm-8">
<input name="married" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">是否已孕:</label>
<div class="col-sm-8">
<input name="pregnancy" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">国家地区:</label>
<div class="col-sm-8">
<input name="countriesRegions" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">民族:</label>
<div class="col-sm-8">
<input name="nation" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">政治面貌:</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="politicsStatus" value="">
<label th:for="politicsStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">籍贯:</label>
<div class="col-sm-8">
<input name="nativePlace" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">户籍所在地:</label>
<div class="col-sm-8">
<input name="placeOfDomicile" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">健康状态:</label>
<div class="col-sm-8">
<input name="health" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最高学历:</label>
<div class="col-sm-8">
<input name="highestEducation" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入职时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="hireDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">试用期:</label>
<div class="col-sm-8">
<input name="probationPeriod" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">转正日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="regularizationDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工号:</label>
<div class="col-sm-8">
<input name="jobNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<input name="department" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">直属上级:</label>
<div class="col-sm-8">
<input name="directSupervisor" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8">
<input name="post" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">职级:</label>
<div class="col-sm-8">
<input name="jobGrade" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作地点:</label>
<div class="col-sm-8">
<input name="workSite" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">详细工作地点:</label>
<div class="col-sm-8">
<input name="detailedWorkLocation" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作城市:</label>
<div class="col-sm-8">
<input name="workCity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘渠道:</label>
<div class="col-sm-8">
<input name="recruitmentChannel" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">聘用城市:</label>
<div class="col-sm-8">
<input name="employmentCity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">司龄开始日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="commencementSeniorityDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">司龄:</label>
<div class="col-sm-8">
<input name="workingYears" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合同类型:</label>
<div class="col-sm-8">
<select name="contractType" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">现合同开始时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="contractCommencementTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">现合同结束时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="endOfContrac" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">现合同期限:</label>
<div class="col-sm-8">
<input name="currentContractTerm" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工资卡卡号:</label>
<div class="col-sm-8">
<input name="wagesCardNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工资卡开户城市:</label>
<div class="col-sm-8">
<input name="accountOpeningCity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">银行卡名称:</label>
<div class="col-sm-8">
<input name="bankCardName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工资卡开户行:</label>
<div class="col-sm-8">
<input name="payCardBank" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">个人社保账号:</label>
<div class="col-sm-8">
<input name="socialSecurityAccount" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">个人公积金账号:</label>
<div class="col-sm-8">
<input name="providentFundAccount" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">操作:</label>
<div class="col-sm-8">
<input name="operation" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">办理转正:</label>
<div class="col-sm-8">
<input name="regularization" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">调整部门岗位:</label>
<div class="col-sm-8">
<input name="adjustmentOfDepartmentalPosts" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">晋升/降级:</label>
<div class="col-sm-8">
<input name="promotion" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">参保方案:</label>
<div class="col-sm-8">
<input name="ginsengProtectPlan" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">办理离职:</label>
<div class="col-sm-8">
<input name="forDeparture" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">钉钉用户id</label>
<div class="col-sm-8">
<input name="userId" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/management1"
$("#form-management1-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-management1-add').serialize());
}
}
$("input[name='birthdayDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='birthday']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='hireDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='regularizationDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='commencementSeniorityDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='contractCommencementTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='endOfContrac']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,395 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改员工管理')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-management1-edit" th:object="${wkCrmStaffManagement1}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8">
<input name="name" th:field="*{name}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">手机号:</label>
<div class="col-sm-8">
<input name="mobilePhone" th:field="*{mobilePhone}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">证件类型:</label>
<div class="col-sm-8">
<select name="certificateType" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">证件号码:</label>
<div class="col-sm-8">
<input name="certificateId" th:field="*{certificateId}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">性别:</label>
<div class="col-sm-8">
<input name="gender" th:field="*{gender}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出生日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="birthdayDate" th:value="${#dates.format(wkCrmStaffManagement1.birthdayDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">生日:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="birthday" th:value="${#dates.format(wkCrmStaffManagement1.birthday, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">年龄:</label>
<div class="col-sm-8">
<input name="age" th:field="*{age}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">是否已婚:</label>
<div class="col-sm-8">
<input name="married" th:field="*{married}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">是否已孕:</label>
<div class="col-sm-8">
<input name="pregnancy" th:field="*{pregnancy}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">国家地区:</label>
<div class="col-sm-8">
<input name="countriesRegions" th:field="*{countriesRegions}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">民族:</label>
<div class="col-sm-8">
<input name="nation" th:field="*{nation}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">政治面貌:</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="politicsStatus" value="">
<label th:for="politicsStatus" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">籍贯:</label>
<div class="col-sm-8">
<input name="nativePlace" th:field="*{nativePlace}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">户籍所在地:</label>
<div class="col-sm-8">
<input name="placeOfDomicile" th:field="*{placeOfDomicile}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">健康状态:</label>
<div class="col-sm-8">
<input name="health" th:field="*{health}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">最高学历:</label>
<div class="col-sm-8">
<input name="highestEducation" th:field="*{highestEducation}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入职时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="hireDate" th:value="${#dates.format(wkCrmStaffManagement1.hireDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">试用期:</label>
<div class="col-sm-8">
<input name="probationPeriod" th:field="*{probationPeriod}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">转正日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="regularizationDate" th:value="${#dates.format(wkCrmStaffManagement1.regularizationDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工号:</label>
<div class="col-sm-8">
<input name="jobNumber" th:field="*{jobNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<input name="department" th:field="*{department}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">直属上级:</label>
<div class="col-sm-8">
<input name="directSupervisor" th:field="*{directSupervisor}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8">
<input name="post" th:field="*{post}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">职级:</label>
<div class="col-sm-8">
<input name="jobGrade" th:field="*{jobGrade}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作地点:</label>
<div class="col-sm-8">
<input name="workSite" th:field="*{workSite}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">详细工作地点:</label>
<div class="col-sm-8">
<input name="detailedWorkLocation" th:field="*{detailedWorkLocation}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作城市:</label>
<div class="col-sm-8">
<input name="workCity" th:field="*{workCity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘渠道:</label>
<div class="col-sm-8">
<input name="recruitmentChannel" th:field="*{recruitmentChannel}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">聘用城市:</label>
<div class="col-sm-8">
<input name="employmentCity" th:field="*{employmentCity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">司龄开始日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="commencementSeniorityDate" th:value="${#dates.format(wkCrmStaffManagement1.commencementSeniorityDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">司龄:</label>
<div class="col-sm-8">
<input name="workingYears" th:field="*{workingYears}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合同类型:</label>
<div class="col-sm-8">
<select name="contractType" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">现合同开始时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="contractCommencementTime" th:value="${#dates.format(wkCrmStaffManagement1.contractCommencementTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">现合同结束时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="endOfContrac" th:value="${#dates.format(wkCrmStaffManagement1.endOfContrac, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">现合同期限:</label>
<div class="col-sm-8">
<input name="currentContractTerm" th:field="*{currentContractTerm}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工资卡卡号:</label>
<div class="col-sm-8">
<input name="wagesCardNumber" th:field="*{wagesCardNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工资卡开户城市:</label>
<div class="col-sm-8">
<input name="accountOpeningCity" th:field="*{accountOpeningCity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">银行卡名称:</label>
<div class="col-sm-8">
<input name="bankCardName" th:field="*{bankCardName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工资卡开户行:</label>
<div class="col-sm-8">
<input name="payCardBank" th:field="*{payCardBank}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">个人社保账号:</label>
<div class="col-sm-8">
<input name="socialSecurityAccount" th:field="*{socialSecurityAccount}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">个人公积金账号:</label>
<div class="col-sm-8">
<input name="providentFundAccount" th:field="*{providentFundAccount}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">操作:</label>
<div class="col-sm-8">
<input name="operation" th:field="*{operation}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">办理转正:</label>
<div class="col-sm-8">
<input name="regularization" th:field="*{regularization}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">调整部门岗位:</label>
<div class="col-sm-8">
<input name="adjustmentOfDepartmentalPosts" th:field="*{adjustmentOfDepartmentalPosts}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">晋升/降级:</label>
<div class="col-sm-8">
<input name="promotion" th:field="*{promotion}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">参保方案:</label>
<div class="col-sm-8">
<input name="ginsengProtectPlan" th:field="*{ginsengProtectPlan}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">办理离职:</label>
<div class="col-sm-8">
<input name="forDeparture" th:field="*{forDeparture}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">钉钉用户id</label>
<div class="col-sm-8">
<input name="userId" th:field="*{userId}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/management1";
$("#form-management1-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-management1-edit').serialize());
}
}
$("input[name='birthdayDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='birthday']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='hireDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='regularizationDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='commencementSeniorityDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='contractCommencementTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='endOfContrac']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
</script>
</body>
</html>

View File

@ -0,0 +1,479 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('员工管理列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>姓名:</label>
<input type="text" name="name"/>
</li>
<li>
<label>手机号:</label>
<input type="text" name="mobilePhone"/>
</li>
<li>
<label>证件类型:</label>
<select name="certificateType">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
<label>证件号码:</label>
<input type="text" name="certificateId"/>
</li>
<li>
<label>性别:</label>
<input type="text" name="gender"/>
</li>
<li>
<label>出生日期:</label>
<input type="text" class="time-input" placeholder="请选择出生日期" name="birthdayDate"/>
</li>
<li>
<label>生日:</label>
<input type="text" class="time-input" placeholder="请选择生日" name="birthday"/>
</li>
<li>
<label>年龄:</label>
<input type="text" name="age"/>
</li>
<li>
<label>是否已婚:</label>
<input type="text" name="married"/>
</li>
<li>
<label>是否已孕:</label>
<input type="text" name="pregnancy"/>
</li>
<li>
<label>国家地区:</label>
<input type="text" name="countriesRegions"/>
</li>
<li>
<label>民族:</label>
<input type="text" name="nation"/>
</li>
<li>
<label>政治面貌:</label>
<select name="politicsStatus">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
<label>籍贯:</label>
<input type="text" name="nativePlace"/>
</li>
<li>
<label>户籍所在地:</label>
<input type="text" name="placeOfDomicile"/>
</li>
<li>
<label>健康状态:</label>
<input type="text" name="health"/>
</li>
<li>
<label>最高学历:</label>
<input type="text" name="highestEducation"/>
</li>
<li>
<label>入职时间:</label>
<input type="text" class="time-input" placeholder="请选择入职时间" name="hireDate"/>
</li>
<li>
<label>试用期:</label>
<input type="text" name="probationPeriod"/>
</li>
<li>
<label>转正日期:</label>
<input type="text" class="time-input" placeholder="请选择转正日期" name="regularizationDate"/>
</li>
<li>
<label>工号:</label>
<input type="text" name="jobNumber"/>
</li>
<li>
<label>部门:</label>
<input type="text" name="department"/>
</li>
<li>
<label>直属上级:</label>
<input type="text" name="directSupervisor"/>
</li>
<li>
<label>岗位:</label>
<input type="text" name="post"/>
</li>
<li>
<label>职级:</label>
<input type="text" name="jobGrade"/>
</li>
<li>
<label>工作地点:</label>
<input type="text" name="workSite"/>
</li>
<li>
<label>详细工作地点:</label>
<input type="text" name="detailedWorkLocation"/>
</li>
<li>
<label>工作城市:</label>
<input type="text" name="workCity"/>
</li>
<li>
<label>招聘渠道:</label>
<input type="text" name="recruitmentChannel"/>
</li>
<li>
<label>聘用城市:</label>
<input type="text" name="employmentCity"/>
</li>
<li>
<label>司龄开始日期:</label>
<input type="text" class="time-input" placeholder="请选择司龄开始日期" name="commencementSeniorityDate"/>
</li>
<li>
<label>司龄:</label>
<input type="text" name="workingYears"/>
</li>
<li>
<label>合同类型:</label>
<select name="contractType">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
<label>现合同开始时间:</label>
<input type="text" class="time-input" placeholder="请选择现合同开始时间" name="contractCommencementTime"/>
</li>
<li>
<label>现合同结束时间:</label>
<input type="text" class="time-input" placeholder="请选择现合同结束时间" name="endOfContrac"/>
</li>
<li>
<label>现合同期限:</label>
<input type="text" name="currentContractTerm"/>
</li>
<li>
<label>工资卡卡号:</label>
<input type="text" name="wagesCardNumber"/>
</li>
<li>
<label>工资卡开户城市:</label>
<input type="text" name="accountOpeningCity"/>
</li>
<li>
<label>银行卡名称:</label>
<input type="text" name="bankCardName"/>
</li>
<li>
<label>工资卡开户行:</label>
<input type="text" name="payCardBank"/>
</li>
<li>
<label>个人社保账号:</label>
<input type="text" name="socialSecurityAccount"/>
</li>
<li>
<label>个人公积金账号:</label>
<input type="text" name="providentFundAccount"/>
</li>
<li>
<label>操作:</label>
<input type="text" name="operation"/>
</li>
<li>
<label>办理转正:</label>
<input type="text" name="regularization"/>
</li>
<li>
<label>调整部门岗位:</label>
<input type="text" name="adjustmentOfDepartmentalPosts"/>
</li>
<li>
<label>晋升/降级:</label>
<input type="text" name="promotion"/>
</li>
<li>
<label>参保方案:</label>
<input type="text" name="ginsengProtectPlan"/>
</li>
<li>
<label>办理离职:</label>
<input type="text" name="forDeparture"/>
</li>
<li>
<label>钉钉用户id</label>
<input type="text" name="userId"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:management1:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:management1:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:management1:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:management1:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:management1:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:management1:remove')}]];
var prefix = ctx + "system/management1";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "员工管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: 'id',
visible: false
},
{
field: 'name',
title: '姓名'
},
{
field: 'mobilePhone',
title: '手机号'
},
{
field: 'certificateType',
title: '证件类型'
},
{
field: 'certificateId',
title: '证件号码'
},
{
field: 'gender',
title: '性别'
},
{
field: 'birthdayDate',
title: '出生日期'
},
{
field: 'birthday',
title: '生日'
},
{
field: 'age',
title: '年龄'
},
{
field: 'married',
title: '是否已婚'
},
{
field: 'pregnancy',
title: '是否已孕'
},
{
field: 'countriesRegions',
title: '国家地区'
},
{
field: 'nation',
title: '民族'
},
{
field: 'politicsStatus',
title: '政治面貌'
},
{
field: 'nativePlace',
title: '籍贯'
},
{
field: 'placeOfDomicile',
title: '户籍所在地'
},
{
field: 'health',
title: '健康状态'
},
{
field: 'highestEducation',
title: '最高学历'
},
{
field: 'hireDate',
title: '入职时间'
},
{
field: 'probationPeriod',
title: '试用期'
},
{
field: 'regularizationDate',
title: '转正日期'
},
{
field: 'jobNumber',
title: '工号'
},
{
field: 'department',
title: '部门'
},
{
field: 'directSupervisor',
title: '直属上级'
},
{
field: 'post',
title: '岗位'
},
{
field: 'jobGrade',
title: '职级'
},
{
field: 'workSite',
title: '工作地点'
},
{
field: 'detailedWorkLocation',
title: '详细工作地点'
},
{
field: 'workCity',
title: '工作城市'
},
{
field: 'recruitmentChannel',
title: '招聘渠道'
},
{
field: 'employmentCity',
title: '聘用城市'
},
{
field: 'commencementSeniorityDate',
title: '司龄开始日期'
},
{
field: 'workingYears',
title: '司龄'
},
{
field: 'contractType',
title: '合同类型'
},
{
field: 'contractCommencementTime',
title: '现合同开始时间'
},
{
field: 'endOfContrac',
title: '现合同结束时间'
},
{
field: 'currentContractTerm',
title: '现合同期限'
},
{
field: 'wagesCardNumber',
title: '工资卡卡号'
},
{
field: 'accountOpeningCity',
title: '工资卡开户城市'
},
{
field: 'bankCardName',
title: '银行卡名称'
},
{
field: 'payCardBank',
title: '工资卡开户行'
},
{
field: 'socialSecurityAccount',
title: '个人社保账号'
},
{
field: 'providentFundAccount',
title: '个人公积金账号'
},
{
field: 'operation',
title: '操作'
},
{
field: 'regularization',
title: '办理转正'
},
{
field: 'adjustmentOfDepartmentalPosts',
title: '调整部门岗位'
},
{
field: 'promotion',
title: '晋升/降级'
},
{
field: 'ginsengProtectPlan',
title: '参保方案'
},
{
field: 'forDeparture',
title: '办理离职'
},
{
field: 'userId',
title: '钉钉用户id'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,107 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增公海')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-pool-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">公海名称:</label>
<div class="col-sm-8">
<input name="poolName" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">管理员 “,”分割:</label>
<div class="col-sm-8">
<textarea name="adminUserId" class="form-control" required></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公海规则员工成员 “,”分割:</label>
<div class="col-sm-8">
<textarea name="memberUserId" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公海规则部门成员 “,”分割:</label>
<div class="col-sm-8">
<textarea name="memberDeptId" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">状态 0 停用 1启用</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="status" value="" required>
<label th:for="status" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">前负责人领取规则 0不限制 1限制</label>
<div class="col-sm-8">
<input name="preOwnerSetting" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">前负责人领取规则限制天数:</label>
<div class="col-sm-8">
<input name="preOwnerSettingDay" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">是否限制领取频率 0不限制 1限制</label>
<div class="col-sm-8">
<input name="receiveSetting" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">领取频率规则:</label>
<div class="col-sm-8">
<input name="receiveNum" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">是否设置提前提醒 0不开启 1开启</label>
<div class="col-sm-8">
<input name="remindSetting" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">提醒规则天数:</label>
<div class="col-sm-8">
<input name="remindDay" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">收回规则 0不自动收回 1自动收回</label>
<div class="col-sm-8">
<input name="putInRule" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required"></label>
<div class="col-sm-8">
<input name="createUserId" class="form-control" type="text" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/pool"
$("#form-pool-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-pool-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,108 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改公海')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-pool-edit" th:object="${wkCrmCustomerPool}">
<input name="poolId" th:field="*{poolId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">公海名称:</label>
<div class="col-sm-8">
<input name="poolName" th:field="*{poolName}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">管理员 “,”分割:</label>
<div class="col-sm-8">
<textarea name="adminUserId" class="form-control" required>[[*{adminUserId}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公海规则员工成员 “,”分割:</label>
<div class="col-sm-8">
<textarea name="memberUserId" class="form-control">[[*{memberUserId}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公海规则部门成员 “,”分割:</label>
<div class="col-sm-8">
<textarea name="memberDeptId" class="form-control">[[*{memberDeptId}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">状态 0 停用 1启用</label>
<div class="col-sm-8">
<div class="radio-box">
<input type="radio" name="status" value="" required>
<label th:for="status" th:text="未知"></label>
</div>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">前负责人领取规则 0不限制 1限制</label>
<div class="col-sm-8">
<input name="preOwnerSetting" th:field="*{preOwnerSetting}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">前负责人领取规则限制天数:</label>
<div class="col-sm-8">
<input name="preOwnerSettingDay" th:field="*{preOwnerSettingDay}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">是否限制领取频率 0不限制 1限制</label>
<div class="col-sm-8">
<input name="receiveSetting" th:field="*{receiveSetting}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">领取频率规则:</label>
<div class="col-sm-8">
<input name="receiveNum" th:field="*{receiveNum}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">是否设置提前提醒 0不开启 1开启</label>
<div class="col-sm-8">
<input name="remindSetting" th:field="*{remindSetting}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">提醒规则天数:</label>
<div class="col-sm-8">
<input name="remindDay" th:field="*{remindDay}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">收回规则 0不自动收回 1自动收回</label>
<div class="col-sm-8">
<input name="putInRule" th:field="*{putInRule}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required"></label>
<div class="col-sm-8">
<input name="createUserId" th:field="*{createUserId}" class="form-control" type="text" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/pool";
$("#form-pool-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-pool-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('公海列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>公海名称:</label>
<input type="text" name="poolName"/>
</li>
<!--<li>
<label>状态 0 停用 1启用</label>
<select name="status">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
<label>前负责人领取规则 0不限制 1限制</label>
<input type="text" name="preOwnerSetting"/>
</li>
<li>
<label>前负责人领取规则限制天数:</label>
<input type="text" name="preOwnerSettingDay"/>
</li>
<li>
<label>是否限制领取频率 0不限制 1限制</label>
<input type="text" name="receiveSetting"/>
</li>
<li>
<label>领取频率规则:</label>
<input type="text" name="receiveNum"/>
</li>
<li>
<label>是否设置提前提醒 0不开启 1开启</label>
<input type="text" name="remindSetting"/>
</li>
<li>
<label>提醒规则天数:</label>
<input type="text" name="remindDay"/>
</li>
<li>
<label>收回规则 0不自动收回 1自动收回</label>
<input type="text" name="putInRule"/>
</li>
<li>
<label></label>
<input type="text" name="createUserId"/>
</li>-->
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:pool:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:pool:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:pool:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:pool:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:pool:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:pool:remove')}]];
var prefix = ctx + "system/pool";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "公海",
columns: [{
checkbox: true
},
{
field: 'poolId',
title: '公海id',
visible: false
},
{
field: 'poolName',
title: '公海名称'
},
{
field: 'adminUserId',
title: '管理员 '
},
{
field: 'memberUserId',
title: '公海规则员工成员'
},
{
field: 'memberDeptId',
title: '公海规则部门成员'
},
{
field: 'status',
title: '状态 0 停用 1启用'
},
{
field: 'preOwnerSetting',
title: '前负责人领取规则 0不限制 1限制'
},
{
field: 'preOwnerSettingDay',
title: '前负责人领取规则限制天数'
},
{
field: 'receiveSetting',
title: '是否限制领取频率 0不限制 1限制'
},
{
field: 'receiveNum',
title: '领取频率规则'
},
{
field: 'remindSetting',
title: '是否设置提前提醒 0不开启 1开启'
},
{
field: 'remindDay',
title: '提醒规则天数'
},
{
field: 'putInRule',
title: '收回规则 0不自动收回 1自动收回'
},
{
field: 'createUserId',
title: ''
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.poolId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.poolId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增招聘职位')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-recruitment-add">
<div class="form-group">
<label class="col-sm-3 control-label">职位名称:</label>
<div class="col-sm-8">
<input name="jobTitle" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用人部门:</label>
<div class="col-sm-8">
<input name="employPersons" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作性质:</label>
<div class="col-sm-8">
<input name="natureofWork" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作城市:</label>
<div class="col-sm-8">
<input name="workCity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘人数:</label>
<div class="col-sm-8">
<input name="hiring" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">已入职人数:</label>
<div class="col-sm-8">
<input name="employees" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘进度:</label>
<div class="col-sm-8">
<input name="schedule" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作经验:</label>
<div class="col-sm-8">
<input name="experience" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">学历要求:</label>
<div class="col-sm-8">
<input name="required" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">薪资范围:</label>
<div class="col-sm-8">
<input name="range" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/recruitment"
$("#form-recruitment-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-recruitment-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改招聘职位')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-recruitment-edit" th:object="${wkCrmRecruitment}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">职位名称:</label>
<div class="col-sm-8">
<input name="jobTitle" th:field="*{jobTitle}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用人部门:</label>
<div class="col-sm-8">
<input name="employPersons" th:field="*{employPersons}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作性质:</label>
<div class="col-sm-8">
<input name="natureofWork" th:field="*{natureofWork}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作城市:</label>
<div class="col-sm-8">
<input name="workCity" th:field="*{workCity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘人数:</label>
<div class="col-sm-8">
<input name="hiring" th:field="*{hiring}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">已入职人数:</label>
<div class="col-sm-8">
<input name="employees" th:field="*{employees}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">招聘进度:</label>
<div class="col-sm-8">
<input name="schedule" th:field="*{schedule}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">工作经验:</label>
<div class="col-sm-8">
<input name="experience" th:field="*{experience}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">学历要求:</label>
<div class="col-sm-8">
<input name="required" th:field="*{required}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">薪资范围:</label>
<div class="col-sm-8">
<input name="range" th:field="*{range}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/recruitment";
$("#form-recruitment-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-recruitment-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,158 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('招聘职位列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>职位名称:</label>
<input type="text" name="jobTitle"/>
</li>
<li>
<label>用人部门:</label>
<input type="text" name="employPersons"/>
</li>
<li>
<label>工作性质:</label>
<input type="text" name="natureofWork"/>
</li>
<li>
<label>工作城市:</label>
<input type="text" name="workCity"/>
</li>
<li>
<label>招聘人数:</label>
<input type="text" name="hiring"/>
</li>
<li>
<label>已入职人数:</label>
<input type="text" name="employees"/>
</li>
<li>
<label>招聘进度:</label>
<input type="text" name="schedule"/>
</li>
<li>
<label>工作经验:</label>
<input type="text" name="experience"/>
</li>
<li>
<label>学历要求:</label>
<input type="text" name="required"/>
</li>
<li>
<label>薪资范围:</label>
<input type="text" name="range"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:recruitment:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:recruitment:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:recruitment:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:recruitment:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:recruitment:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:recruitment:remove')}]];
var prefix = ctx + "system/recruitment";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "招聘职位",
columns: [{
checkbox: true
},
{
field: 'id',
title: '',
visible: false
},
{
field: 'jobTitle',
title: '职位名称'
},
{
field: 'employPersons',
title: '用人部门'
},
{
field: 'natureofWork',
title: '工作性质'
},
{
field: 'workCity',
title: '工作城市'
},
{
field: 'hiring',
title: '招聘人数'
},
{
field: 'employees',
title: '已入职人数'
},
{
field: 'schedule',
title: '招聘进度'
},
{
field: 'experience',
title: '工作经验'
},
{
field: 'required',
title: '学历要求'
},
{
field: 'range',
title: '薪资范围'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,307 @@
package com.ruoyi.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 候选人对象 wk_crm_candidate
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmCandidate extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Integer id;
/** 应聘职位 */
@Excel(name = "应聘职位")
private String position;
/** 用人部门 */
@Excel(name = "用人部门")
private String department;
/** 候选人状态 */
@Excel(name = "候选人状态")
private String candidateStatus;
/** 手机号 */
@Excel(name = "手机号")
private String phone;
/** 性别 */
@Excel(name = "性别")
private String gender;
/** 年龄 */
@Excel(name = "年龄")
private Long age;
/** 邮箱 */
@Excel(name = "邮箱")
private String email;
/** 招聘负责人 */
@Excel(name = "招聘负责人")
private String boss;
/** 工作年限 */
@Excel(name = "工作年限")
private String workingYears;
/** 学历 */
@Excel(name = "学历")
private String education;
/** 毕业院校 */
@Excel(name = "毕业院校")
private String graduate;
/** 最近工作单位 */
@Excel(name = "最近工作单位")
private String work;
/** 招聘渠道 */
@Excel(name = "招聘渠道")
private String recruitment;
/** 面试时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "面试时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date interview;
/** 面试轮次 */
@Excel(name = "面试轮次")
private String degree;
/** 面试官 */
@Excel(name = "面试官")
private String interviewer;
/** 面试方式 */
@Excel(name = "面试方式")
private String waysOfIntervie;
/** 其他面试官 */
@Excel(name = "其他面试官")
private String elseInterviewer;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date creation;
public void setId(Integer id)
{
this.id = id;
}
public Integer getId()
{
return id;
}
public void setPosition(String position)
{
this.position = position;
}
public String getPosition()
{
return position;
}
public void setDepartment(String department)
{
this.department = department;
}
public String getDepartment()
{
return department;
}
public void setCandidateStatus(String candidateStatus)
{
this.candidateStatus = candidateStatus;
}
public String getCandidateStatus()
{
return candidateStatus;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getPhone()
{
return phone;
}
public void setGender(String gender)
{
this.gender = gender;
}
public String getGender()
{
return gender;
}
public void setAge(Long age)
{
this.age = age;
}
public Long getAge()
{
return age;
}
public void setEmail(String email)
{
this.email = email;
}
public String getEmail()
{
return email;
}
public void setBoss(String boss)
{
this.boss = boss;
}
public String getBoss()
{
return boss;
}
public void setWorkingYears(String workingYears)
{
this.workingYears = workingYears;
}
public String getWorkingYears()
{
return workingYears;
}
public void setEducation(String education)
{
this.education = education;
}
public String getEducation()
{
return education;
}
public void setGraduate(String graduate)
{
this.graduate = graduate;
}
public String getGraduate()
{
return graduate;
}
public void setWork(String work)
{
this.work = work;
}
public String getWork()
{
return work;
}
public void setRecruitment(String recruitment)
{
this.recruitment = recruitment;
}
public String getRecruitment()
{
return recruitment;
}
public void setInterview(Date interview)
{
this.interview = interview;
}
public Date getInterview()
{
return interview;
}
public void setDegree(String degree)
{
this.degree = degree;
}
public String getDegree()
{
return degree;
}
public void setInterviewer(String interviewer)
{
this.interviewer = interviewer;
}
public String getInterviewer()
{
return interviewer;
}
public void setWaysOfIntervie(String waysOfIntervie)
{
this.waysOfIntervie = waysOfIntervie;
}
public String getWaysOfIntervie()
{
return waysOfIntervie;
}
public void setElseInterviewer(String elseInterviewer)
{
this.elseInterviewer = elseInterviewer;
}
public String getElseInterviewer()
{
return elseInterviewer;
}
public void setCreation(Date creation)
{
this.creation = creation;
}
public Date getCreation()
{
return creation;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("position", getPosition())
.append("department", getDepartment())
.append("candidateStatus", getCandidateStatus())
.append("phone", getPhone())
.append("gender", getGender())
.append("age", getAge())
.append("email", getEmail())
.append("boss", getBoss())
.append("workingYears", getWorkingYears())
.append("education", getEducation())
.append("graduate", getGraduate())
.append("work", getWork())
.append("recruitment", getRecruitment())
.append("interview", getInterview())
.append("degree", getDegree())
.append("interviewer", getInterviewer())
.append("waysOfIntervie", getWaysOfIntervie())
.append("elseInterviewer", getElseInterviewer())
.append("creation", getCreation())
.toString();
}
}

View File

@ -0,0 +1,212 @@
package com.ruoyi.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 联系人对象 wk_crm_contacts
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmContacts extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long contactsId;
/** 联系人名称 */
@Excel(name = "联系人名称")
private String name;
/** 下次联系时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "下次联系时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date nextTime;
/** 手机 */
@Excel(name = "手机")
private String mobile;
/** 电话 */
@Excel(name = "电话")
private String telephone;
/** 电子邮箱 */
@Excel(name = "电子邮箱")
private String email;
/** 职务 */
@Excel(name = "职务")
private String post;
/** 客户ID */
@Excel(name = "客户ID")
private Long customerId;
/** 地址 */
@Excel(name = "地址")
private String address;
/** 创建人ID */
@Excel(name = "创建人ID")
private Long createUserId;
/** 负责人ID */
@Excel(name = "负责人ID")
private Long ownerUserId;
/** 批次 */
@Excel(name = "批次")
private String batchId;
/** 最后跟进时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后跟进时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastTime;
public void setContactsId(Long contactsId)
{
this.contactsId = contactsId;
}
public Long getContactsId()
{
return contactsId;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setNextTime(Date nextTime)
{
this.nextTime = nextTime;
}
public Date getNextTime()
{
return nextTime;
}
public void setMobile(String mobile)
{
this.mobile = mobile;
}
public String getMobile()
{
return mobile;
}
public void setTelephone(String telephone)
{
this.telephone = telephone;
}
public String getTelephone()
{
return telephone;
}
public void setEmail(String email)
{
this.email = email;
}
public String getEmail()
{
return email;
}
public void setPost(String post)
{
this.post = post;
}
public String getPost()
{
return post;
}
public void setCustomerId(Long customerId)
{
this.customerId = customerId;
}
public Long getCustomerId()
{
return customerId;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setCreateUserId(Long createUserId)
{
this.createUserId = createUserId;
}
public Long getCreateUserId()
{
return createUserId;
}
public void setOwnerUserId(Long ownerUserId)
{
this.ownerUserId = ownerUserId;
}
public Long getOwnerUserId()
{
return ownerUserId;
}
public void setBatchId(String batchId)
{
this.batchId = batchId;
}
public String getBatchId()
{
return batchId;
}
public void setLastTime(Date lastTime)
{
this.lastTime = lastTime;
}
public Date getLastTime()
{
return lastTime;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("contactsId", getContactsId())
.append("name", getName())
.append("nextTime", getNextTime())
.append("mobile", getMobile())
.append("telephone", getTelephone())
.append("email", getEmail())
.append("post", getPost())
.append("customerId", getCustomerId())
.append("address", getAddress())
.append("remark", getRemark())
.append("createUserId", getCreateUserId())
.append("ownerUserId", getOwnerUserId())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("batchId", getBatchId())
.append("lastTime", getLastTime())
.toString();
}
}

View File

@ -0,0 +1,327 @@
package com.ruoyi.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 客户对象 wk_crm_customer
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmCustomer extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long customerId;
/** 客户名称 */
@Excel(name = "客户名称")
private String customerName;
/** 下次联系时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "下次联系时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date nextTime;
/** 成交状态 0 未成交 1 已成交 */
@Excel(name = "成交状态 0 未成交 1 已成交")
private Integer dealStatus;
/** 成交时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "成交时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date dealTime;
/** 手机 */
@Excel(name = "手机")
private String mobile;
/** 电话 */
@Excel(name = "电话")
private String telephone;
/** 网址 */
@Excel(name = "网址")
private String website;
/** 邮箱 */
@Excel(name = "邮箱")
private String email;
/** 创建人ID */
@Excel(name = "创建人ID")
private Long createUserId;
/** 负责人ID */
@Excel(name = "负责人ID")
private Long ownerUserId;
/** 只读权限 */
@Excel(name = "只读权限")
private String roUserId;
/** 读写权限 */
@Excel(name = "读写权限")
private String rwUserId;
/** 详细地址 */
@Excel(name = "详细地址")
private String detailAddress;
/** 批次 比如附件批次 */
@Excel(name = "批次 比如附件批次")
private String batchId;
/** 最后跟进时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后跟进时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastTime;
/** 放入公海时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "放入公海时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date poolTime;
/** 1 分配 2 领取 */
@Excel(name = "1 分配 2 领取")
private Integer isReceive;
/** 最后一条跟进记录 */
@Excel(name = "最后一条跟进记录")
private String lastContent;
/** 接收到客户时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "接收到客户时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date receiveTime;
/** 进入公海前负责人id */
@Excel(name = "进入公海前负责人id")
private Long preOwnerUserId;
public void setCustomerId(Long customerId)
{
this.customerId = customerId;
}
public Long getCustomerId()
{
return customerId;
}
public void setCustomerName(String customerName)
{
this.customerName = customerName;
}
public String getCustomerName()
{
return customerName;
}
public void setNextTime(Date nextTime)
{
this.nextTime = nextTime;
}
public Date getNextTime()
{
return nextTime;
}
public void setDealStatus(Integer dealStatus)
{
this.dealStatus = dealStatus;
}
public Integer getDealStatus()
{
return dealStatus;
}
public void setDealTime(Date dealTime)
{
this.dealTime = dealTime;
}
public Date getDealTime()
{
return dealTime;
}
public void setMobile(String mobile)
{
this.mobile = mobile;
}
public String getMobile()
{
return mobile;
}
public void setTelephone(String telephone)
{
this.telephone = telephone;
}
public String getTelephone()
{
return telephone;
}
public void setWebsite(String website)
{
this.website = website;
}
public String getWebsite()
{
return website;
}
public void setEmail(String email)
{
this.email = email;
}
public String getEmail()
{
return email;
}
public void setCreateUserId(Long createUserId)
{
this.createUserId = createUserId;
}
public Long getCreateUserId()
{
return createUserId;
}
public void setOwnerUserId(Long ownerUserId)
{
this.ownerUserId = ownerUserId;
}
public Long getOwnerUserId()
{
return ownerUserId;
}
public void setRoUserId(String roUserId)
{
this.roUserId = roUserId;
}
public String getRoUserId()
{
return roUserId;
}
public void setRwUserId(String rwUserId)
{
this.rwUserId = rwUserId;
}
public String getRwUserId()
{
return rwUserId;
}
public void setDetailAddress(String detailAddress)
{
this.detailAddress = detailAddress;
}
public String getDetailAddress()
{
return detailAddress;
}
public void setBatchId(String batchId)
{
this.batchId = batchId;
}
public String getBatchId()
{
return batchId;
}
public void setLastTime(Date lastTime)
{
this.lastTime = lastTime;
}
public Date getLastTime()
{
return lastTime;
}
public void setPoolTime(Date poolTime)
{
this.poolTime = poolTime;
}
public Date getPoolTime()
{
return poolTime;
}
public void setIsReceive(Integer isReceive)
{
this.isReceive = isReceive;
}
public Integer getIsReceive()
{
return isReceive;
}
public void setLastContent(String lastContent)
{
this.lastContent = lastContent;
}
public String getLastContent()
{
return lastContent;
}
public void setReceiveTime(Date receiveTime)
{
this.receiveTime = receiveTime;
}
public Date getReceiveTime()
{
return receiveTime;
}
public void setPreOwnerUserId(Long preOwnerUserId)
{
this.preOwnerUserId = preOwnerUserId;
}
public Long getPreOwnerUserId()
{
return preOwnerUserId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("customerId", getCustomerId())
.append("customerName", getCustomerName())
.append("nextTime", getNextTime())
.append("dealStatus", getDealStatus())
.append("dealTime", getDealTime())
.append("mobile", getMobile())
.append("telephone", getTelephone())
.append("website", getWebsite())
.append("email", getEmail())
.append("remark", getRemark())
.append("createUserId", getCreateUserId())
.append("ownerUserId", getOwnerUserId())
.append("roUserId", getRoUserId())
.append("rwUserId", getRwUserId())
.append("detailAddress", getDetailAddress())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("batchId", getBatchId())
.append("lastTime", getLastTime())
.append("poolTime", getPoolTime())
.append("isReceive", getIsReceive())
.append("lastContent", getLastContent())
.append("receiveTime", getReceiveTime())
.append("preOwnerUserId", getPreOwnerUserId())
.toString();
}
}

View File

@ -0,0 +1,220 @@
package com.ruoyi.system.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 公海对象 wk_crm_customer_pool
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmCustomerPool extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 公海id */
private Long poolId;
/** 公海名称 */
@Excel(name = "公海名称")
private String poolName;
/** 管理员 “,”分割 */
@Excel(name = "管理员 “,”分割")
private String adminUserId;
/** 公海规则员工成员 “,”分割 */
@Excel(name = "公海规则员工成员 “,”分割")
private String memberUserId;
/** 公海规则部门成员 “,”分割 */
@Excel(name = "公海规则部门成员 “,”分割")
private String memberDeptId;
/** 状态 0 停用 1启用 */
@Excel(name = "状态 0 停用 1启用")
private Integer status;
/** 前负责人领取规则 0不限制 1限制 */
@Excel(name = "前负责人领取规则 0不限制 1限制")
private Integer preOwnerSetting;
/** 前负责人领取规则限制天数 */
@Excel(name = "前负责人领取规则限制天数")
private Integer preOwnerSettingDay;
/** 是否限制领取频率 0不限制 1限制 */
@Excel(name = "是否限制领取频率 0不限制 1限制")
private Integer receiveSetting;
/** 领取频率规则 */
@Excel(name = "领取频率规则")
private Integer receiveNum;
/** 是否设置提前提醒 0不开启 1开启 */
@Excel(name = "是否设置提前提醒 0不开启 1开启")
private Integer remindSetting;
/** 提醒规则天数 */
@Excel(name = "提醒规则天数")
private Long remindDay;
/** 收回规则 0不自动收回 1自动收回 */
@Excel(name = "收回规则 0不自动收回 1自动收回")
private Integer putInRule;
/** */
@Excel(name = "")
private Long createUserId;
public void setPoolId(Long poolId)
{
this.poolId = poolId;
}
public Long getPoolId()
{
return poolId;
}
public void setPoolName(String poolName)
{
this.poolName = poolName;
}
public String getPoolName()
{
return poolName;
}
public void setAdminUserId(String adminUserId)
{
this.adminUserId = adminUserId;
}
public String getAdminUserId()
{
return adminUserId;
}
public void setMemberUserId(String memberUserId)
{
this.memberUserId = memberUserId;
}
public String getMemberUserId()
{
return memberUserId;
}
public void setMemberDeptId(String memberDeptId)
{
this.memberDeptId = memberDeptId;
}
public String getMemberDeptId()
{
return memberDeptId;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
public void setPreOwnerSetting(Integer preOwnerSetting)
{
this.preOwnerSetting = preOwnerSetting;
}
public Integer getPreOwnerSetting()
{
return preOwnerSetting;
}
public void setPreOwnerSettingDay(Integer preOwnerSettingDay)
{
this.preOwnerSettingDay = preOwnerSettingDay;
}
public Integer getPreOwnerSettingDay()
{
return preOwnerSettingDay;
}
public void setReceiveSetting(Integer receiveSetting)
{
this.receiveSetting = receiveSetting;
}
public Integer getReceiveSetting()
{
return receiveSetting;
}
public void setReceiveNum(Integer receiveNum)
{
this.receiveNum = receiveNum;
}
public Integer getReceiveNum()
{
return receiveNum;
}
public void setRemindSetting(Integer remindSetting)
{
this.remindSetting = remindSetting;
}
public Integer getRemindSetting()
{
return remindSetting;
}
public void setRemindDay(Long remindDay)
{
this.remindDay = remindDay;
}
public Long getRemindDay()
{
return remindDay;
}
public void setPutInRule(Integer putInRule)
{
this.putInRule = putInRule;
}
public Integer getPutInRule()
{
return putInRule;
}
public void setCreateUserId(Long createUserId)
{
this.createUserId = createUserId;
}
public Long getCreateUserId()
{
return createUserId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("poolId", getPoolId())
.append("poolName", getPoolName())
.append("adminUserId", getAdminUserId())
.append("memberUserId", getMemberUserId())
.append("memberDeptId", getMemberDeptId())
.append("status", getStatus())
.append("preOwnerSetting", getPreOwnerSetting())
.append("preOwnerSettingDay", getPreOwnerSettingDay())
.append("receiveSetting", getReceiveSetting())
.append("receiveNum", getReceiveNum())
.append("remindSetting", getRemindSetting())
.append("remindDay", getRemindDay())
.append("putInRule", getPutInRule())
.append("createUserId", getCreateUserId())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@ -0,0 +1,198 @@
package com.ruoyi.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 线索对象 wk_crm_leads
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmLeads extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long leadsId;
/** 跟进状态 0未跟进1已跟进 */
@Excel(name = "跟进状态 0未跟进1已跟进")
private Long followup;
/** 线索名称 */
@Excel(name = "线索名称")
private String leadsName;
/** 下次联系时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "下次联系时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date nextTime;
/** 电话 */
@Excel(name = "电话")
private String telephone;
/** 手机号 */
@Excel(name = "手机号")
private String mobile;
/** 邮箱 */
@Excel(name = "邮箱")
private String email;
/** 地址 */
@Excel(name = "地址")
private String address;
/** 创建人ID */
@Excel(name = "创建人ID")
private Long createUserId;
/** 负责人ID */
@Excel(name = "负责人ID")
private Long ownerUserId;
/** 最后跟进时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最后跟进时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date lastTime;
/** 最后一条跟进记录 */
@Excel(name = "最后一条跟进记录")
private String lastContent;
public void setLeadsId(Long leadsId)
{
this.leadsId = leadsId;
}
public Long getLeadsId()
{
return leadsId;
}
public void setFollowup(Long followup)
{
this.followup = followup;
}
public Long getFollowup()
{
return followup;
}
public void setLeadsName(String leadsName)
{
this.leadsName = leadsName;
}
public String getLeadsName()
{
return leadsName;
}
public void setNextTime(Date nextTime)
{
this.nextTime = nextTime;
}
public Date getNextTime()
{
return nextTime;
}
public void setTelephone(String telephone)
{
this.telephone = telephone;
}
public String getTelephone()
{
return telephone;
}
public void setMobile(String mobile)
{
this.mobile = mobile;
}
public String getMobile()
{
return mobile;
}
public void setEmail(String email)
{
this.email = email;
}
public String getEmail()
{
return email;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setCreateUserId(Long createUserId)
{
this.createUserId = createUserId;
}
public Long getCreateUserId()
{
return createUserId;
}
public void setOwnerUserId(Long ownerUserId)
{
this.ownerUserId = ownerUserId;
}
public Long getOwnerUserId()
{
return ownerUserId;
}
public void setLastTime(Date lastTime)
{
this.lastTime = lastTime;
}
public Date getLastTime()
{
return lastTime;
}
public void setLastContent(String lastContent)
{
this.lastContent = lastContent;
}
public String getLastContent()
{
return lastContent;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("leadsId", getLeadsId())
.append("followup", getFollowup())
.append("leadsName", getLeadsName())
.append("nextTime", getNextTime())
.append("telephone", getTelephone())
.append("mobile", getMobile())
.append("email", getEmail())
.append("address", getAddress())
.append("remark", getRemark())
.append("createUserId", getCreateUserId())
.append("ownerUserId", getOwnerUserId())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("lastTime", getLastTime())
.append("lastContent", getLastContent())
.toString();
}
}

View File

@ -0,0 +1,135 @@
package com.ruoyi.system.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 组织管理对象 wk_crm_organization_management
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmOrganizationManagement extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long id;
/** 公司 */
@Excel(name = "公司")
private String company;
/** 总经理 */
@Excel(name = "总经理")
private String generalManager;
/** 行政部 */
@Excel(name = "行政部")
private String administrationSection;
/** 人事部 */
@Excel(name = "人事部")
private String ministryPersonnel;
/** 财务部 */
@Excel(name = "财务部")
private String accountingDepartment;
/** 研发部 */
@Excel(name = "研发部")
private String researchDevelopment;
/** 市场部 */
@Excel(name = "市场部")
private String bazaar;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCompany(String company)
{
this.company = company;
}
public String getCompany()
{
return company;
}
public void setGeneralManager(String generalManager)
{
this.generalManager = generalManager;
}
public String getGeneralManager()
{
return generalManager;
}
public void setAdministrationSection(String administrationSection)
{
this.administrationSection = administrationSection;
}
public String getAdministrationSection()
{
return administrationSection;
}
public void setMinistryPersonnel(String ministryPersonnel)
{
this.ministryPersonnel = ministryPersonnel;
}
public String getMinistryPersonnel()
{
return ministryPersonnel;
}
public void setAccountingDepartment(String accountingDepartment)
{
this.accountingDepartment = accountingDepartment;
}
public String getAccountingDepartment()
{
return accountingDepartment;
}
public void setResearchDevelopment(String researchDevelopment)
{
this.researchDevelopment = researchDevelopment;
}
public String getResearchDevelopment()
{
return researchDevelopment;
}
public void setBazaar(String bazaar)
{
this.bazaar = bazaar;
}
public String getBazaar()
{
return bazaar;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("company", getCompany())
.append("generalManager", getGeneralManager())
.append("administrationSection", getAdministrationSection())
.append("ministryPersonnel", getMinistryPersonnel())
.append("accountingDepartment", getAccountingDepartment())
.append("researchDevelopment", getResearchDevelopment())
.append("bazaar", getBazaar())
.toString();
}
}

View File

@ -0,0 +1,177 @@
package com.ruoyi.system.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 招聘职位对象 wk_crm_recruitment
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmRecruitment extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** */
private Long id;
/** 职位名称 */
@Excel(name = "职位名称")
private String jobTitle;
/** 用人部门 */
@Excel(name = "用人部门")
private String employPersons;
/** 工作性质 */
@Excel(name = "工作性质")
private String natureofWork;
/** 工作城市 */
@Excel(name = "工作城市")
private String workCity;
/** 招聘人数 */
@Excel(name = "招聘人数")
private Long hiring;
/** 已入职人数 */
@Excel(name = "已入职人数")
private Long employees;
/** 招聘进度 */
@Excel(name = "招聘进度")
private String schedule;
/** 工作经验 */
@Excel(name = "工作经验")
private String experience;
/** 学历要求 */
@Excel(name = "学历要求")
private String required;
/** 薪资范围 */
@Excel(name = "薪资范围")
private String range;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setJobTitle(String jobTitle)
{
this.jobTitle = jobTitle;
}
public String getJobTitle()
{
return jobTitle;
}
public void setEmployPersons(String employPersons)
{
this.employPersons = employPersons;
}
public String getEmployPersons()
{
return employPersons;
}
public void setNatureofWork(String natureofWork)
{
this.natureofWork = natureofWork;
}
public String getNatureofWork()
{
return natureofWork;
}
public void setWorkCity(String workCity)
{
this.workCity = workCity;
}
public String getWorkCity()
{
return workCity;
}
public void setHiring(Long hiring)
{
this.hiring = hiring;
}
public Long getHiring()
{
return hiring;
}
public void setEmployees(Long employees)
{
this.employees = employees;
}
public Long getEmployees()
{
return employees;
}
public void setSchedule(String schedule)
{
this.schedule = schedule;
}
public String getSchedule()
{
return schedule;
}
public void setExperience(String experience)
{
this.experience = experience;
}
public String getExperience()
{
return experience;
}
public void setRequired(String required)
{
this.required = required;
}
public String getRequired()
{
return required;
}
public void setRange(String range)
{
this.range = range;
}
public String getRange()
{
return range;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("jobTitle", getJobTitle())
.append("employPersons", getEmployPersons())
.append("natureofWork", getNatureofWork())
.append("workCity", getWorkCity())
.append("hiring", getHiring())
.append("employees", getEmployees())
.append("schedule", getSchedule())
.append("experience", getExperience())
.append("required", getRequired())
.append("range", getRange())
.toString();
}
}

View File

@ -0,0 +1,732 @@
package com.ruoyi.system.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 员工管理对象 wk_crm_staff_management1
*
* @author ruoyi
* @date 2021-04-06
*/
public class WkCrmStaffManagement1 extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 姓名 */
@Excel(name = "姓名")
private String name;
/** 手机号 */
@Excel(name = "手机号")
private String mobilePhone;
/** 证件类型 */
@Excel(name = "证件类型")
private String certificateType;
/** 证件号码 */
@Excel(name = "证件号码")
private String certificateId;
/** 性别 */
@Excel(name = "性别")
private String gender;
/** 出生日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date birthdayDate;
/** 生日 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
private Date birthday;
/** 年龄 */
@Excel(name = "年龄")
private Long age;
/** 是否已婚 */
@Excel(name = "是否已婚")
private String married;
/** 是否已孕 */
@Excel(name = "是否已孕")
private String pregnancy;
/** 国家地区 */
@Excel(name = "国家地区")
private String countriesRegions;
/** 民族 */
@Excel(name = "民族")
private String nation;
/** 政治面貌 */
@Excel(name = "政治面貌")
private String politicsStatus;
/** 籍贯 */
@Excel(name = "籍贯")
private String nativePlace;
/** 户籍所在地 */
@Excel(name = "户籍所在地")
private String placeOfDomicile;
/** 健康状态 */
@Excel(name = "健康状态")
private String health;
/** 最高学历 */
@Excel(name = "最高学历")
private String highestEducation;
/** 入职时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date hireDate;
/** 试用期 */
@Excel(name = "试用期")
private Long probationPeriod;
/** 转正日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "转正日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date regularizationDate;
/** 工号 */
@Excel(name = "工号")
private Long jobNumber;
/** 部门 */
@Excel(name = "部门")
private String department;
/** 直属上级 */
@Excel(name = "直属上级")
private String directSupervisor;
/** 岗位 */
@Excel(name = "岗位")
private String post;
/** 职级 */
@Excel(name = "职级")
private String jobGrade;
/** 工作地点 */
@Excel(name = "工作地点")
private String workSite;
/** 详细工作地点 */
@Excel(name = "详细工作地点")
private String detailedWorkLocation;
/** 工作城市 */
@Excel(name = "工作城市")
private String workCity;
/** 招聘渠道 */
@Excel(name = "招聘渠道")
private String recruitmentChannel;
/** 聘用城市 */
@Excel(name = "聘用城市")
private String employmentCity;
/** 司龄开始日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "司龄开始日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date commencementSeniorityDate;
/** 司龄 */
@Excel(name = "司龄")
private Long workingYears;
/** 合同类型 */
@Excel(name = "合同类型")
private String contractType;
/** 现合同开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "现合同开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date contractCommencementTime;
/** 现合同结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "现合同结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endOfContrac;
/** 现合同期限 */
@Excel(name = "现合同期限")
private Long currentContractTerm;
/** 工资卡卡号 */
@Excel(name = "工资卡卡号")
private Long wagesCardNumber;
/** 工资卡开户城市 */
@Excel(name = "工资卡开户城市")
private String accountOpeningCity;
/** 银行卡名称 */
@Excel(name = "银行卡名称")
private String bankCardName;
/** 工资卡开户行 */
@Excel(name = "工资卡开户行")
private String payCardBank;
/** 个人社保账号 */
@Excel(name = "个人社保账号")
private Long socialSecurityAccount;
/** 个人公积金账号 */
@Excel(name = "个人公积金账号")
private Long providentFundAccount;
/** 操作 */
@Excel(name = "操作")
private String operation;
/** 办理转正 */
@Excel(name = "办理转正")
private String regularization;
/** 调整部门岗位 */
@Excel(name = "调整部门岗位")
private String adjustmentOfDepartmentalPosts;
/** 晋升/降级 */
@Excel(name = "晋升/降级")
private String promotion;
/** 参保方案 */
@Excel(name = "参保方案")
private String ginsengProtectPlan;
/** 办理离职 */
@Excel(name = "办理离职")
private String forDeparture;
/** 钉钉用户id */
@Excel(name = "钉钉用户id")
private String userId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setMobilePhone(String mobilePhone)
{
this.mobilePhone = mobilePhone;
}
public String getMobilePhone()
{
return mobilePhone;
}
public void setCertificateType(String certificateType)
{
this.certificateType = certificateType;
}
public String getCertificateType()
{
return certificateType;
}
public void setCertificateId(String certificateId)
{
this.certificateId = certificateId;
}
public String getCertificateId()
{
return certificateId;
}
public void setGender(String gender)
{
this.gender = gender;
}
public String getGender()
{
return gender;
}
public void setBirthdayDate(Date birthdayDate)
{
this.birthdayDate = birthdayDate;
}
public Date getBirthdayDate()
{
return birthdayDate;
}
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}
public Date getBirthday()
{
return birthday;
}
public void setAge(Long age)
{
this.age = age;
}
public Long getAge()
{
return age;
}
public void setMarried(String married)
{
this.married = married;
}
public String getMarried()
{
return married;
}
public void setPregnancy(String pregnancy)
{
this.pregnancy = pregnancy;
}
public String getPregnancy()
{
return pregnancy;
}
public void setCountriesRegions(String countriesRegions)
{
this.countriesRegions = countriesRegions;
}
public String getCountriesRegions()
{
return countriesRegions;
}
public void setNation(String nation)
{
this.nation = nation;
}
public String getNation()
{
return nation;
}
public void setPoliticsStatus(String politicsStatus)
{
this.politicsStatus = politicsStatus;
}
public String getPoliticsStatus()
{
return politicsStatus;
}
public void setNativePlace(String nativePlace)
{
this.nativePlace = nativePlace;
}
public String getNativePlace()
{
return nativePlace;
}
public void setPlaceOfDomicile(String placeOfDomicile)
{
this.placeOfDomicile = placeOfDomicile;
}
public String getPlaceOfDomicile()
{
return placeOfDomicile;
}
public void setHealth(String health)
{
this.health = health;
}
public String getHealth()
{
return health;
}
public void setHighestEducation(String highestEducation)
{
this.highestEducation = highestEducation;
}
public String getHighestEducation()
{
return highestEducation;
}
public void setHireDate(Date hireDate)
{
this.hireDate = hireDate;
}
public Date getHireDate()
{
return hireDate;
}
public void setProbationPeriod(Long probationPeriod)
{
this.probationPeriod = probationPeriod;
}
public Long getProbationPeriod()
{
return probationPeriod;
}
public void setRegularizationDate(Date regularizationDate)
{
this.regularizationDate = regularizationDate;
}
public Date getRegularizationDate()
{
return regularizationDate;
}
public void setJobNumber(Long jobNumber)
{
this.jobNumber = jobNumber;
}
public Long getJobNumber()
{
return jobNumber;
}
public void setDepartment(String department)
{
this.department = department;
}
public String getDepartment()
{
return department;
}
public void setDirectSupervisor(String directSupervisor)
{
this.directSupervisor = directSupervisor;
}
public String getDirectSupervisor()
{
return directSupervisor;
}
public void setPost(String post)
{
this.post = post;
}
public String getPost()
{
return post;
}
public void setJobGrade(String jobGrade)
{
this.jobGrade = jobGrade;
}
public String getJobGrade()
{
return jobGrade;
}
public void setWorkSite(String workSite)
{
this.workSite = workSite;
}
public String getWorkSite()
{
return workSite;
}
public void setDetailedWorkLocation(String detailedWorkLocation)
{
this.detailedWorkLocation = detailedWorkLocation;
}
public String getDetailedWorkLocation()
{
return detailedWorkLocation;
}
public void setWorkCity(String workCity)
{
this.workCity = workCity;
}
public String getWorkCity()
{
return workCity;
}
public void setRecruitmentChannel(String recruitmentChannel)
{
this.recruitmentChannel = recruitmentChannel;
}
public String getRecruitmentChannel()
{
return recruitmentChannel;
}
public void setEmploymentCity(String employmentCity)
{
this.employmentCity = employmentCity;
}
public String getEmploymentCity()
{
return employmentCity;
}
public void setCommencementSeniorityDate(Date commencementSeniorityDate)
{
this.commencementSeniorityDate = commencementSeniorityDate;
}
public Date getCommencementSeniorityDate()
{
return commencementSeniorityDate;
}
public void setWorkingYears(Long workingYears)
{
this.workingYears = workingYears;
}
public Long getWorkingYears()
{
return workingYears;
}
public void setContractType(String contractType)
{
this.contractType = contractType;
}
public String getContractType()
{
return contractType;
}
public void setContractCommencementTime(Date contractCommencementTime)
{
this.contractCommencementTime = contractCommencementTime;
}
public Date getContractCommencementTime()
{
return contractCommencementTime;
}
public void setEndOfContrac(Date endOfContrac)
{
this.endOfContrac = endOfContrac;
}
public Date getEndOfContrac()
{
return endOfContrac;
}
public void setCurrentContractTerm(Long currentContractTerm)
{
this.currentContractTerm = currentContractTerm;
}
public Long getCurrentContractTerm()
{
return currentContractTerm;
}
public void setWagesCardNumber(Long wagesCardNumber)
{
this.wagesCardNumber = wagesCardNumber;
}
public Long getWagesCardNumber()
{
return wagesCardNumber;
}
public void setAccountOpeningCity(String accountOpeningCity)
{
this.accountOpeningCity = accountOpeningCity;
}
public String getAccountOpeningCity()
{
return accountOpeningCity;
}
public void setBankCardName(String bankCardName)
{
this.bankCardName = bankCardName;
}
public String getBankCardName()
{
return bankCardName;
}
public void setPayCardBank(String payCardBank)
{
this.payCardBank = payCardBank;
}
public String getPayCardBank()
{
return payCardBank;
}
public void setSocialSecurityAccount(Long socialSecurityAccount)
{
this.socialSecurityAccount = socialSecurityAccount;
}
public Long getSocialSecurityAccount()
{
return socialSecurityAccount;
}
public void setProvidentFundAccount(Long providentFundAccount)
{
this.providentFundAccount = providentFundAccount;
}
public Long getProvidentFundAccount()
{
return providentFundAccount;
}
public void setOperation(String operation)
{
this.operation = operation;
}
public String getOperation()
{
return operation;
}
public void setRegularization(String regularization)
{
this.regularization = regularization;
}
public String getRegularization()
{
return regularization;
}
public void setAdjustmentOfDepartmentalPosts(String adjustmentOfDepartmentalPosts)
{
this.adjustmentOfDepartmentalPosts = adjustmentOfDepartmentalPosts;
}
public String getAdjustmentOfDepartmentalPosts()
{
return adjustmentOfDepartmentalPosts;
}
public void setPromotion(String promotion)
{
this.promotion = promotion;
}
public String getPromotion()
{
return promotion;
}
public void setGinsengProtectPlan(String ginsengProtectPlan)
{
this.ginsengProtectPlan = ginsengProtectPlan;
}
public String getGinsengProtectPlan()
{
return ginsengProtectPlan;
}
public void setForDeparture(String forDeparture)
{
this.forDeparture = forDeparture;
}
public String getForDeparture()
{
return forDeparture;
}
public void setUserId(String userId)
{
this.userId = userId;
}
public String getUserId()
{
return userId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("mobilePhone", getMobilePhone())
.append("certificateType", getCertificateType())
.append("certificateId", getCertificateId())
.append("gender", getGender())
.append("birthdayDate", getBirthdayDate())
.append("birthday", getBirthday())
.append("age", getAge())
.append("married", getMarried())
.append("pregnancy", getPregnancy())
.append("countriesRegions", getCountriesRegions())
.append("nation", getNation())
.append("politicsStatus", getPoliticsStatus())
.append("nativePlace", getNativePlace())
.append("placeOfDomicile", getPlaceOfDomicile())
.append("health", getHealth())
.append("highestEducation", getHighestEducation())
.append("hireDate", getHireDate())
.append("probationPeriod", getProbationPeriod())
.append("regularizationDate", getRegularizationDate())
.append("jobNumber", getJobNumber())
.append("department", getDepartment())
.append("directSupervisor", getDirectSupervisor())
.append("post", getPost())
.append("jobGrade", getJobGrade())
.append("workSite", getWorkSite())
.append("detailedWorkLocation", getDetailedWorkLocation())
.append("workCity", getWorkCity())
.append("recruitmentChannel", getRecruitmentChannel())
.append("employmentCity", getEmploymentCity())
.append("commencementSeniorityDate", getCommencementSeniorityDate())
.append("workingYears", getWorkingYears())
.append("contractType", getContractType())
.append("contractCommencementTime", getContractCommencementTime())
.append("endOfContrac", getEndOfContrac())
.append("currentContractTerm", getCurrentContractTerm())
.append("wagesCardNumber", getWagesCardNumber())
.append("accountOpeningCity", getAccountOpeningCity())
.append("bankCardName", getBankCardName())
.append("payCardBank", getPayCardBank())
.append("socialSecurityAccount", getSocialSecurityAccount())
.append("providentFundAccount", getProvidentFundAccount())
.append("operation", getOperation())
.append("regularization", getRegularization())
.append("adjustmentOfDepartmentalPosts", getAdjustmentOfDepartmentalPosts())
.append("promotion", getPromotion())
.append("ginsengProtectPlan", getGinsengProtectPlan())
.append("forDeparture", getForDeparture())
.append("userId", getUserId())
.toString();
}
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmCandidate;
/**
* 候选人Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmCandidateMapper
{
/**
* 查询候选人
*
* @param id 候选人ID
* @return 候选人
*/
public WkCrmCandidate selectWkCrmCandidateById(Integer id);
/**
* 查询候选人列表
*
* @param wkCrmCandidate 候选人
* @return 候选人集合
*/
public List<WkCrmCandidate> selectWkCrmCandidateList(WkCrmCandidate wkCrmCandidate);
/**
* 新增候选人
*
* @param wkCrmCandidate 候选人
* @return 结果
*/
public int insertWkCrmCandidate(WkCrmCandidate wkCrmCandidate);
/**
* 修改候选人
*
* @param wkCrmCandidate 候选人
* @return 结果
*/
public int updateWkCrmCandidate(WkCrmCandidate wkCrmCandidate);
/**
* 删除候选人
*
* @param id 候选人ID
* @return 结果
*/
public int deleteWkCrmCandidateById(Integer id);
/**
* 批量删除候选人
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmCandidateByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmContacts;
/**
* 联系人Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmContactsMapper
{
/**
* 查询联系人
*
* @param contactsId 联系人ID
* @return 联系人
*/
public WkCrmContacts selectWkCrmContactsById(Long contactsId);
/**
* 查询联系人列表
*
* @param wkCrmContacts 联系人
* @return 联系人集合
*/
public List<WkCrmContacts> selectWkCrmContactsList(WkCrmContacts wkCrmContacts);
/**
* 新增联系人
*
* @param wkCrmContacts 联系人
* @return 结果
*/
public int insertWkCrmContacts(WkCrmContacts wkCrmContacts);
/**
* 修改联系人
*
* @param wkCrmContacts 联系人
* @return 结果
*/
public int updateWkCrmContacts(WkCrmContacts wkCrmContacts);
/**
* 删除联系人
*
* @param contactsId 联系人ID
* @return 结果
*/
public int deleteWkCrmContactsById(Long contactsId);
/**
* 批量删除联系人
*
* @param contactsIds 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmContactsByIds(String[] contactsIds);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmCustomer;
/**
* 客户Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmCustomerMapper
{
/**
* 查询客户
*
* @param customerId 客户ID
* @return 客户
*/
public WkCrmCustomer selectWkCrmCustomerById(Long customerId);
/**
* 查询客户列表
*
* @param wkCrmCustomer 客户
* @return 客户集合
*/
public List<WkCrmCustomer> selectWkCrmCustomerList(WkCrmCustomer wkCrmCustomer);
/**
* 新增客户
*
* @param wkCrmCustomer 客户
* @return 结果
*/
public int insertWkCrmCustomer(WkCrmCustomer wkCrmCustomer);
/**
* 修改客户
*
* @param wkCrmCustomer 客户
* @return 结果
*/
public int updateWkCrmCustomer(WkCrmCustomer wkCrmCustomer);
/**
* 删除客户
*
* @param customerId 客户ID
* @return 结果
*/
public int deleteWkCrmCustomerById(Long customerId);
/**
* 批量删除客户
*
* @param customerIds 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmCustomerByIds(String[] customerIds);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmCustomerPool;
/**
* 公海Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmCustomerPoolMapper
{
/**
* 查询公海
*
* @param poolId 公海ID
* @return 公海
*/
public WkCrmCustomerPool selectWkCrmCustomerPoolById(Long poolId);
/**
* 查询公海列表
*
* @param wkCrmCustomerPool 公海
* @return 公海集合
*/
public List<WkCrmCustomerPool> selectWkCrmCustomerPoolList(WkCrmCustomerPool wkCrmCustomerPool);
/**
* 新增公海
*
* @param wkCrmCustomerPool 公海
* @return 结果
*/
public int insertWkCrmCustomerPool(WkCrmCustomerPool wkCrmCustomerPool);
/**
* 修改公海
*
* @param wkCrmCustomerPool 公海
* @return 结果
*/
public int updateWkCrmCustomerPool(WkCrmCustomerPool wkCrmCustomerPool);
/**
* 删除公海
*
* @param poolId 公海ID
* @return 结果
*/
public int deleteWkCrmCustomerPoolById(Long poolId);
/**
* 批量删除公海
*
* @param poolIds 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmCustomerPoolByIds(String[] poolIds);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmLeads;
/**
* 线索Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmLeadsMapper
{
/**
* 查询线索
*
* @param leadsId 线索ID
* @return 线索
*/
public WkCrmLeads selectWkCrmLeadsById(Long leadsId);
/**
* 查询线索列表
*
* @param wkCrmLeads 线索
* @return 线索集合
*/
public List<WkCrmLeads> selectWkCrmLeadsList(WkCrmLeads wkCrmLeads);
/**
* 新增线索
*
* @param wkCrmLeads 线索
* @return 结果
*/
public int insertWkCrmLeads(WkCrmLeads wkCrmLeads);
/**
* 修改线索
*
* @param wkCrmLeads 线索
* @return 结果
*/
public int updateWkCrmLeads(WkCrmLeads wkCrmLeads);
/**
* 删除线索
*
* @param leadsId 线索ID
* @return 结果
*/
public int deleteWkCrmLeadsById(Long leadsId);
/**
* 批量删除线索
*
* @param leadsIds 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmLeadsByIds(String[] leadsIds);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmOrganizationManagement;
/**
* 组织管理Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmOrganizationManagementMapper
{
/**
* 查询组织管理
*
* @param id 组织管理ID
* @return 组织管理
*/
public WkCrmOrganizationManagement selectWkCrmOrganizationManagementById(Long id);
/**
* 查询组织管理列表
*
* @param wkCrmOrganizationManagement 组织管理
* @return 组织管理集合
*/
public List<WkCrmOrganizationManagement> selectWkCrmOrganizationManagementList(WkCrmOrganizationManagement wkCrmOrganizationManagement);
/**
* 新增组织管理
*
* @param wkCrmOrganizationManagement 组织管理
* @return 结果
*/
public int insertWkCrmOrganizationManagement(WkCrmOrganizationManagement wkCrmOrganizationManagement);
/**
* 修改组织管理
*
* @param wkCrmOrganizationManagement 组织管理
* @return 结果
*/
public int updateWkCrmOrganizationManagement(WkCrmOrganizationManagement wkCrmOrganizationManagement);
/**
* 删除组织管理
*
* @param id 组织管理ID
* @return 结果
*/
public int deleteWkCrmOrganizationManagementById(Long id);
/**
* 批量删除组织管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmOrganizationManagementByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmRecruitment;
/**
* 招聘职位Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmRecruitmentMapper
{
/**
* 查询招聘职位
*
* @param id 招聘职位ID
* @return 招聘职位
*/
public WkCrmRecruitment selectWkCrmRecruitmentById(Long id);
/**
* 查询招聘职位列表
*
* @param wkCrmRecruitment 招聘职位
* @return 招聘职位集合
*/
public List<WkCrmRecruitment> selectWkCrmRecruitmentList(WkCrmRecruitment wkCrmRecruitment);
/**
* 新增招聘职位
*
* @param wkCrmRecruitment 招聘职位
* @return 结果
*/
public int insertWkCrmRecruitment(WkCrmRecruitment wkCrmRecruitment);
/**
* 修改招聘职位
*
* @param wkCrmRecruitment 招聘职位
* @return 结果
*/
public int updateWkCrmRecruitment(WkCrmRecruitment wkCrmRecruitment);
/**
* 删除招聘职位
*
* @param id 招聘职位ID
* @return 结果
*/
public int deleteWkCrmRecruitmentById(Long id);
/**
* 批量删除招聘职位
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmRecruitmentByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.WkCrmStaffManagement1;
/**
* 员工管理Mapper接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface WkCrmStaffManagement1Mapper
{
/**
* 查询员工管理
*
* @param id 员工管理ID
* @return 员工管理
*/
public WkCrmStaffManagement1 selectWkCrmStaffManagement1ById(Long id);
/**
* 查询员工管理列表
*
* @param wkCrmStaffManagement1 员工管理
* @return 员工管理集合
*/
public List<WkCrmStaffManagement1> selectWkCrmStaffManagement1List(WkCrmStaffManagement1 wkCrmStaffManagement1);
/**
* 新增员工管理
*
* @param wkCrmStaffManagement1 员工管理
* @return 结果
*/
public int insertWkCrmStaffManagement1(WkCrmStaffManagement1 wkCrmStaffManagement1);
/**
* 修改员工管理
*
* @param wkCrmStaffManagement1 员工管理
* @return 结果
*/
public int updateWkCrmStaffManagement1(WkCrmStaffManagement1 wkCrmStaffManagement1);
/**
* 删除员工管理
*
* @param id 员工管理ID
* @return 结果
*/
public int deleteWkCrmStaffManagement1ById(Long id);
/**
* 批量删除员工管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmStaffManagement1ByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmCandidate;
/**
* 候选人Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmCandidateService
{
/**
* 查询候选人
*
* @param id 候选人ID
* @return 候选人
*/
public WkCrmCandidate selectWkCrmCandidateById(Integer id);
/**
* 查询候选人列表
*
* @param wkCrmCandidate 候选人
* @return 候选人集合
*/
public List<WkCrmCandidate> selectWkCrmCandidateList(WkCrmCandidate wkCrmCandidate);
/**
* 新增候选人
*
* @param wkCrmCandidate 候选人
* @return 结果
*/
public int insertWkCrmCandidate(WkCrmCandidate wkCrmCandidate);
/**
* 修改候选人
*
* @param wkCrmCandidate 候选人
* @return 结果
*/
public int updateWkCrmCandidate(WkCrmCandidate wkCrmCandidate);
/**
* 批量删除候选人
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmCandidateByIds(String ids);
/**
* 删除候选人信息
*
* @param id 候选人ID
* @return 结果
*/
public int deleteWkCrmCandidateById(Integer id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmContacts;
/**
* 联系人Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmContactsService
{
/**
* 查询联系人
*
* @param contactsId 联系人ID
* @return 联系人
*/
public WkCrmContacts selectWkCrmContactsById(Long contactsId);
/**
* 查询联系人列表
*
* @param wkCrmContacts 联系人
* @return 联系人集合
*/
public List<WkCrmContacts> selectWkCrmContactsList(WkCrmContacts wkCrmContacts);
/**
* 新增联系人
*
* @param wkCrmContacts 联系人
* @return 结果
*/
public int insertWkCrmContacts(WkCrmContacts wkCrmContacts);
/**
* 修改联系人
*
* @param wkCrmContacts 联系人
* @return 结果
*/
public int updateWkCrmContacts(WkCrmContacts wkCrmContacts);
/**
* 批量删除联系人
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmContactsByIds(String ids);
/**
* 删除联系人信息
*
* @param contactsId 联系人ID
* @return 结果
*/
public int deleteWkCrmContactsById(Long contactsId);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmCustomerPool;
/**
* 公海Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmCustomerPoolService
{
/**
* 查询公海
*
* @param poolId 公海ID
* @return 公海
*/
public WkCrmCustomerPool selectWkCrmCustomerPoolById(Long poolId);
/**
* 查询公海列表
*
* @param wkCrmCustomerPool 公海
* @return 公海集合
*/
public List<WkCrmCustomerPool> selectWkCrmCustomerPoolList(WkCrmCustomerPool wkCrmCustomerPool);
/**
* 新增公海
*
* @param wkCrmCustomerPool 公海
* @return 结果
*/
public int insertWkCrmCustomerPool(WkCrmCustomerPool wkCrmCustomerPool);
/**
* 修改公海
*
* @param wkCrmCustomerPool 公海
* @return 结果
*/
public int updateWkCrmCustomerPool(WkCrmCustomerPool wkCrmCustomerPool);
/**
* 批量删除公海
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmCustomerPoolByIds(String ids);
/**
* 删除公海信息
*
* @param poolId 公海ID
* @return 结果
*/
public int deleteWkCrmCustomerPoolById(Long poolId);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmCustomer;
/**
* 客户Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmCustomerService
{
/**
* 查询客户
*
* @param customerId 客户ID
* @return 客户
*/
public WkCrmCustomer selectWkCrmCustomerById(Long customerId);
/**
* 查询客户列表
*
* @param wkCrmCustomer 客户
* @return 客户集合
*/
public List<WkCrmCustomer> selectWkCrmCustomerList(WkCrmCustomer wkCrmCustomer);
/**
* 新增客户
*
* @param wkCrmCustomer 客户
* @return 结果
*/
public int insertWkCrmCustomer(WkCrmCustomer wkCrmCustomer);
/**
* 修改客户
*
* @param wkCrmCustomer 客户
* @return 结果
*/
public int updateWkCrmCustomer(WkCrmCustomer wkCrmCustomer);
/**
* 批量删除客户
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmCustomerByIds(String ids);
/**
* 删除客户信息
*
* @param customerId 客户ID
* @return 结果
*/
public int deleteWkCrmCustomerById(Long customerId);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmLeads;
/**
* 线索Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmLeadsService
{
/**
* 查询线索
*
* @param leadsId 线索ID
* @return 线索
*/
public WkCrmLeads selectWkCrmLeadsById(Long leadsId);
/**
* 查询线索列表
*
* @param wkCrmLeads 线索
* @return 线索集合
*/
public List<WkCrmLeads> selectWkCrmLeadsList(WkCrmLeads wkCrmLeads);
/**
* 新增线索
*
* @param wkCrmLeads 线索
* @return 结果
*/
public int insertWkCrmLeads(WkCrmLeads wkCrmLeads);
/**
* 修改线索
*
* @param wkCrmLeads 线索
* @return 结果
*/
public int updateWkCrmLeads(WkCrmLeads wkCrmLeads);
/**
* 批量删除线索
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmLeadsByIds(String ids);
/**
* 删除线索信息
*
* @param leadsId 线索ID
* @return 结果
*/
public int deleteWkCrmLeadsById(Long leadsId);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmOrganizationManagement;
/**
* 组织管理Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmOrganizationManagementService
{
/**
* 查询组织管理
*
* @param id 组织管理ID
* @return 组织管理
*/
public WkCrmOrganizationManagement selectWkCrmOrganizationManagementById(Long id);
/**
* 查询组织管理列表
*
* @param wkCrmOrganizationManagement 组织管理
* @return 组织管理集合
*/
public List<WkCrmOrganizationManagement> selectWkCrmOrganizationManagementList(WkCrmOrganizationManagement wkCrmOrganizationManagement);
/**
* 新增组织管理
*
* @param wkCrmOrganizationManagement 组织管理
* @return 结果
*/
public int insertWkCrmOrganizationManagement(WkCrmOrganizationManagement wkCrmOrganizationManagement);
/**
* 修改组织管理
*
* @param wkCrmOrganizationManagement 组织管理
* @return 结果
*/
public int updateWkCrmOrganizationManagement(WkCrmOrganizationManagement wkCrmOrganizationManagement);
/**
* 批量删除组织管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmOrganizationManagementByIds(String ids);
/**
* 删除组织管理信息
*
* @param id 组织管理ID
* @return 结果
*/
public int deleteWkCrmOrganizationManagementById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmRecruitment;
/**
* 招聘职位Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmRecruitmentService
{
/**
* 查询招聘职位
*
* @param id 招聘职位ID
* @return 招聘职位
*/
public WkCrmRecruitment selectWkCrmRecruitmentById(Long id);
/**
* 查询招聘职位列表
*
* @param wkCrmRecruitment 招聘职位
* @return 招聘职位集合
*/
public List<WkCrmRecruitment> selectWkCrmRecruitmentList(WkCrmRecruitment wkCrmRecruitment);
/**
* 新增招聘职位
*
* @param wkCrmRecruitment 招聘职位
* @return 结果
*/
public int insertWkCrmRecruitment(WkCrmRecruitment wkCrmRecruitment);
/**
* 修改招聘职位
*
* @param wkCrmRecruitment 招聘职位
* @return 结果
*/
public int updateWkCrmRecruitment(WkCrmRecruitment wkCrmRecruitment);
/**
* 批量删除招聘职位
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmRecruitmentByIds(String ids);
/**
* 删除招聘职位信息
*
* @param id 招聘职位ID
* @return 结果
*/
public int deleteWkCrmRecruitmentById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.WkCrmStaffManagement1;
/**
* 员工管理Service接口
*
* @author ruoyi
* @date 2021-04-06
*/
public interface IWkCrmStaffManagement1Service
{
/**
* 查询员工管理
*
* @param id 员工管理ID
* @return 员工管理
*/
public WkCrmStaffManagement1 selectWkCrmStaffManagement1ById(Long id);
/**
* 查询员工管理列表
*
* @param wkCrmStaffManagement1 员工管理
* @return 员工管理集合
*/
public List<WkCrmStaffManagement1> selectWkCrmStaffManagement1List(WkCrmStaffManagement1 wkCrmStaffManagement1);
/**
* 新增员工管理
*
* @param wkCrmStaffManagement1 员工管理
* @return 结果
*/
public int insertWkCrmStaffManagement1(WkCrmStaffManagement1 wkCrmStaffManagement1);
/**
* 修改员工管理
*
* @param wkCrmStaffManagement1 员工管理
* @return 结果
*/
public int updateWkCrmStaffManagement1(WkCrmStaffManagement1 wkCrmStaffManagement1);
/**
* 批量删除员工管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWkCrmStaffManagement1ByIds(String ids);
/**
* 删除员工管理信息
*
* @param id 员工管理ID
* @return 结果
*/
public int deleteWkCrmStaffManagement1ById(Long id);
}

View File

@ -0,0 +1,94 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmCandidateMapper;
import com.ruoyi.system.domain.WkCrmCandidate;
import com.ruoyi.system.service.IWkCrmCandidateService;
import com.ruoyi.common.core.text.Convert;
/**
* 候选人Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmCandidateServiceImpl implements IWkCrmCandidateService
{
@Autowired
private WkCrmCandidateMapper wkCrmCandidateMapper;
/**
* 查询候选人
*
* @param id 候选人ID
* @return 候选人
*/
@Override
public WkCrmCandidate selectWkCrmCandidateById(Integer id)
{
return wkCrmCandidateMapper.selectWkCrmCandidateById(id);
}
/**
* 查询候选人列表
*
* @param wkCrmCandidate 候选人
* @return 候选人
*/
@Override
public List<WkCrmCandidate> selectWkCrmCandidateList(WkCrmCandidate wkCrmCandidate)
{
return wkCrmCandidateMapper.selectWkCrmCandidateList(wkCrmCandidate);
}
/**
* 新增候选人
*
* @param wkCrmCandidate 候选人
* @return 结果
*/
@Override
public int insertWkCrmCandidate(WkCrmCandidate wkCrmCandidate)
{
return wkCrmCandidateMapper.insertWkCrmCandidate(wkCrmCandidate);
}
/**
* 修改候选人
*
* @param wkCrmCandidate 候选人
* @return 结果
*/
@Override
public int updateWkCrmCandidate(WkCrmCandidate wkCrmCandidate)
{
return wkCrmCandidateMapper.updateWkCrmCandidate(wkCrmCandidate);
}
/**
* 删除候选人对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmCandidateByIds(String ids)
{
return wkCrmCandidateMapper.deleteWkCrmCandidateByIds(Convert.toStrArray(ids));
}
/**
* 删除候选人信息
*
* @param id 候选人ID
* @return 结果
*/
@Override
public int deleteWkCrmCandidateById(Integer id)
{
return wkCrmCandidateMapper.deleteWkCrmCandidateById(id);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmContactsMapper;
import com.ruoyi.system.domain.WkCrmContacts;
import com.ruoyi.system.service.IWkCrmContactsService;
import com.ruoyi.common.core.text.Convert;
/**
* 联系人Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmContactsServiceImpl implements IWkCrmContactsService
{
@Autowired
private WkCrmContactsMapper wkCrmContactsMapper;
/**
* 查询联系人
*
* @param contactsId 联系人ID
* @return 联系人
*/
@Override
public WkCrmContacts selectWkCrmContactsById(Long contactsId)
{
return wkCrmContactsMapper.selectWkCrmContactsById(contactsId);
}
/**
* 查询联系人列表
*
* @param wkCrmContacts 联系人
* @return 联系人
*/
@Override
public List<WkCrmContacts> selectWkCrmContactsList(WkCrmContacts wkCrmContacts)
{
return wkCrmContactsMapper.selectWkCrmContactsList(wkCrmContacts);
}
/**
* 新增联系人
*
* @param wkCrmContacts 联系人
* @return 结果
*/
@Override
public int insertWkCrmContacts(WkCrmContacts wkCrmContacts)
{
wkCrmContacts.setCreateTime(DateUtils.getNowDate());
return wkCrmContactsMapper.insertWkCrmContacts(wkCrmContacts);
}
/**
* 修改联系人
*
* @param wkCrmContacts 联系人
* @return 结果
*/
@Override
public int updateWkCrmContacts(WkCrmContacts wkCrmContacts)
{
wkCrmContacts.setUpdateTime(DateUtils.getNowDate());
return wkCrmContactsMapper.updateWkCrmContacts(wkCrmContacts);
}
/**
* 删除联系人对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmContactsByIds(String ids)
{
return wkCrmContactsMapper.deleteWkCrmContactsByIds(Convert.toStrArray(ids));
}
/**
* 删除联系人信息
*
* @param contactsId 联系人ID
* @return 结果
*/
@Override
public int deleteWkCrmContactsById(Long contactsId)
{
return wkCrmContactsMapper.deleteWkCrmContactsById(contactsId);
}
}

View File

@ -0,0 +1,96 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmCustomerPoolMapper;
import com.ruoyi.system.domain.WkCrmCustomerPool;
import com.ruoyi.system.service.IWkCrmCustomerPoolService;
import com.ruoyi.common.core.text.Convert;
/**
* 公海Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmCustomerPoolServiceImpl implements IWkCrmCustomerPoolService
{
@Autowired
private WkCrmCustomerPoolMapper wkCrmCustomerPoolMapper;
/**
* 查询公海
*
* @param poolId 公海ID
* @return 公海
*/
@Override
public WkCrmCustomerPool selectWkCrmCustomerPoolById(Long poolId)
{
return wkCrmCustomerPoolMapper.selectWkCrmCustomerPoolById(poolId);
}
/**
* 查询公海列表
*
* @param wkCrmCustomerPool 公海
* @return 公海
*/
@Override
public List<WkCrmCustomerPool> selectWkCrmCustomerPoolList(WkCrmCustomerPool wkCrmCustomerPool)
{
return wkCrmCustomerPoolMapper.selectWkCrmCustomerPoolList(wkCrmCustomerPool);
}
/**
* 新增公海
*
* @param wkCrmCustomerPool 公海
* @return 结果
*/
@Override
public int insertWkCrmCustomerPool(WkCrmCustomerPool wkCrmCustomerPool)
{
wkCrmCustomerPool.setCreateTime(DateUtils.getNowDate());
return wkCrmCustomerPoolMapper.insertWkCrmCustomerPool(wkCrmCustomerPool);
}
/**
* 修改公海
*
* @param wkCrmCustomerPool 公海
* @return 结果
*/
@Override
public int updateWkCrmCustomerPool(WkCrmCustomerPool wkCrmCustomerPool)
{
return wkCrmCustomerPoolMapper.updateWkCrmCustomerPool(wkCrmCustomerPool);
}
/**
* 删除公海对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmCustomerPoolByIds(String ids)
{
return wkCrmCustomerPoolMapper.deleteWkCrmCustomerPoolByIds(Convert.toStrArray(ids));
}
/**
* 删除公海信息
*
* @param poolId 公海ID
* @return 结果
*/
@Override
public int deleteWkCrmCustomerPoolById(Long poolId)
{
return wkCrmCustomerPoolMapper.deleteWkCrmCustomerPoolById(poolId);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmCustomerMapper;
import com.ruoyi.system.domain.WkCrmCustomer;
import com.ruoyi.system.service.IWkCrmCustomerService;
import com.ruoyi.common.core.text.Convert;
/**
* 客户Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmCustomerServiceImpl implements IWkCrmCustomerService
{
@Autowired
private WkCrmCustomerMapper wkCrmCustomerMapper;
/**
* 查询客户
*
* @param customerId 客户ID
* @return 客户
*/
@Override
public WkCrmCustomer selectWkCrmCustomerById(Long customerId)
{
return wkCrmCustomerMapper.selectWkCrmCustomerById(customerId);
}
/**
* 查询客户列表
*
* @param wkCrmCustomer 客户
* @return 客户
*/
@Override
public List<WkCrmCustomer> selectWkCrmCustomerList(WkCrmCustomer wkCrmCustomer)
{
return wkCrmCustomerMapper.selectWkCrmCustomerList(wkCrmCustomer);
}
/**
* 新增客户
*
* @param wkCrmCustomer 客户
* @return 结果
*/
@Override
public int insertWkCrmCustomer(WkCrmCustomer wkCrmCustomer)
{
wkCrmCustomer.setCreateTime(DateUtils.getNowDate());
return wkCrmCustomerMapper.insertWkCrmCustomer(wkCrmCustomer);
}
/**
* 修改客户
*
* @param wkCrmCustomer 客户
* @return 结果
*/
@Override
public int updateWkCrmCustomer(WkCrmCustomer wkCrmCustomer)
{
wkCrmCustomer.setUpdateTime(DateUtils.getNowDate());
return wkCrmCustomerMapper.updateWkCrmCustomer(wkCrmCustomer);
}
/**
* 删除客户对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmCustomerByIds(String ids)
{
return wkCrmCustomerMapper.deleteWkCrmCustomerByIds(Convert.toStrArray(ids));
}
/**
* 删除客户信息
*
* @param customerId 客户ID
* @return 结果
*/
@Override
public int deleteWkCrmCustomerById(Long customerId)
{
return wkCrmCustomerMapper.deleteWkCrmCustomerById(customerId);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmLeadsMapper;
import com.ruoyi.system.domain.WkCrmLeads;
import com.ruoyi.system.service.IWkCrmLeadsService;
import com.ruoyi.common.core.text.Convert;
/**
* 线索Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmLeadsServiceImpl implements IWkCrmLeadsService
{
@Autowired
private WkCrmLeadsMapper wkCrmLeadsMapper;
/**
* 查询线索
*
* @param leadsId 线索ID
* @return 线索
*/
@Override
public WkCrmLeads selectWkCrmLeadsById(Long leadsId)
{
return wkCrmLeadsMapper.selectWkCrmLeadsById(leadsId);
}
/**
* 查询线索列表
*
* @param wkCrmLeads 线索
* @return 线索
*/
@Override
public List<WkCrmLeads> selectWkCrmLeadsList(WkCrmLeads wkCrmLeads)
{
return wkCrmLeadsMapper.selectWkCrmLeadsList(wkCrmLeads);
}
/**
* 新增线索
*
* @param wkCrmLeads 线索
* @return 结果
*/
@Override
public int insertWkCrmLeads(WkCrmLeads wkCrmLeads)
{
wkCrmLeads.setCreateTime(DateUtils.getNowDate());
return wkCrmLeadsMapper.insertWkCrmLeads(wkCrmLeads);
}
/**
* 修改线索
*
* @param wkCrmLeads 线索
* @return 结果
*/
@Override
public int updateWkCrmLeads(WkCrmLeads wkCrmLeads)
{
wkCrmLeads.setUpdateTime(DateUtils.getNowDate());
return wkCrmLeadsMapper.updateWkCrmLeads(wkCrmLeads);
}
/**
* 删除线索对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmLeadsByIds(String ids)
{
return wkCrmLeadsMapper.deleteWkCrmLeadsByIds(Convert.toStrArray(ids));
}
/**
* 删除线索信息
*
* @param leadsId 线索ID
* @return 结果
*/
@Override
public int deleteWkCrmLeadsById(Long leadsId)
{
return wkCrmLeadsMapper.deleteWkCrmLeadsById(leadsId);
}
}

View File

@ -0,0 +1,94 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmOrganizationManagementMapper;
import com.ruoyi.system.domain.WkCrmOrganizationManagement;
import com.ruoyi.system.service.IWkCrmOrganizationManagementService;
import com.ruoyi.common.core.text.Convert;
/**
* 组织管理Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmOrganizationManagementServiceImpl implements IWkCrmOrganizationManagementService
{
@Autowired
private WkCrmOrganizationManagementMapper wkCrmOrganizationManagementMapper;
/**
* 查询组织管理
*
* @param id 组织管理ID
* @return 组织管理
*/
@Override
public WkCrmOrganizationManagement selectWkCrmOrganizationManagementById(Long id)
{
return wkCrmOrganizationManagementMapper.selectWkCrmOrganizationManagementById(id);
}
/**
* 查询组织管理列表
*
* @param wkCrmOrganizationManagement 组织管理
* @return 组织管理
*/
@Override
public List<WkCrmOrganizationManagement> selectWkCrmOrganizationManagementList(WkCrmOrganizationManagement wkCrmOrganizationManagement)
{
return wkCrmOrganizationManagementMapper.selectWkCrmOrganizationManagementList(wkCrmOrganizationManagement);
}
/**
* 新增组织管理
*
* @param wkCrmOrganizationManagement 组织管理
* @return 结果
*/
@Override
public int insertWkCrmOrganizationManagement(WkCrmOrganizationManagement wkCrmOrganizationManagement)
{
return wkCrmOrganizationManagementMapper.insertWkCrmOrganizationManagement(wkCrmOrganizationManagement);
}
/**
* 修改组织管理
*
* @param wkCrmOrganizationManagement 组织管理
* @return 结果
*/
@Override
public int updateWkCrmOrganizationManagement(WkCrmOrganizationManagement wkCrmOrganizationManagement)
{
return wkCrmOrganizationManagementMapper.updateWkCrmOrganizationManagement(wkCrmOrganizationManagement);
}
/**
* 删除组织管理对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmOrganizationManagementByIds(String ids)
{
return wkCrmOrganizationManagementMapper.deleteWkCrmOrganizationManagementByIds(Convert.toStrArray(ids));
}
/**
* 删除组织管理信息
*
* @param id 组织管理ID
* @return 结果
*/
@Override
public int deleteWkCrmOrganizationManagementById(Long id)
{
return wkCrmOrganizationManagementMapper.deleteWkCrmOrganizationManagementById(id);
}
}

View File

@ -0,0 +1,94 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmRecruitmentMapper;
import com.ruoyi.system.domain.WkCrmRecruitment;
import com.ruoyi.system.service.IWkCrmRecruitmentService;
import com.ruoyi.common.core.text.Convert;
/**
* 招聘职位Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmRecruitmentServiceImpl implements IWkCrmRecruitmentService
{
@Autowired
private WkCrmRecruitmentMapper wkCrmRecruitmentMapper;
/**
* 查询招聘职位
*
* @param id 招聘职位ID
* @return 招聘职位
*/
@Override
public WkCrmRecruitment selectWkCrmRecruitmentById(Long id)
{
return wkCrmRecruitmentMapper.selectWkCrmRecruitmentById(id);
}
/**
* 查询招聘职位列表
*
* @param wkCrmRecruitment 招聘职位
* @return 招聘职位
*/
@Override
public List<WkCrmRecruitment> selectWkCrmRecruitmentList(WkCrmRecruitment wkCrmRecruitment)
{
return wkCrmRecruitmentMapper.selectWkCrmRecruitmentList(wkCrmRecruitment);
}
/**
* 新增招聘职位
*
* @param wkCrmRecruitment 招聘职位
* @return 结果
*/
@Override
public int insertWkCrmRecruitment(WkCrmRecruitment wkCrmRecruitment)
{
return wkCrmRecruitmentMapper.insertWkCrmRecruitment(wkCrmRecruitment);
}
/**
* 修改招聘职位
*
* @param wkCrmRecruitment 招聘职位
* @return 结果
*/
@Override
public int updateWkCrmRecruitment(WkCrmRecruitment wkCrmRecruitment)
{
return wkCrmRecruitmentMapper.updateWkCrmRecruitment(wkCrmRecruitment);
}
/**
* 删除招聘职位对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmRecruitmentByIds(String ids)
{
return wkCrmRecruitmentMapper.deleteWkCrmRecruitmentByIds(Convert.toStrArray(ids));
}
/**
* 删除招聘职位信息
*
* @param id 招聘职位ID
* @return 结果
*/
@Override
public int deleteWkCrmRecruitmentById(Long id)
{
return wkCrmRecruitmentMapper.deleteWkCrmRecruitmentById(id);
}
}

View File

@ -0,0 +1,94 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.WkCrmStaffManagement1Mapper;
import com.ruoyi.system.domain.WkCrmStaffManagement1;
import com.ruoyi.system.service.IWkCrmStaffManagement1Service;
import com.ruoyi.common.core.text.Convert;
/**
* 员工管理Service业务层处理
*
* @author ruoyi
* @date 2021-04-06
*/
@Service
public class WkCrmStaffManagement1ServiceImpl implements IWkCrmStaffManagement1Service
{
@Autowired
private WkCrmStaffManagement1Mapper wkCrmStaffManagement1Mapper;
/**
* 查询员工管理
*
* @param id 员工管理ID
* @return 员工管理
*/
@Override
public WkCrmStaffManagement1 selectWkCrmStaffManagement1ById(Long id)
{
return wkCrmStaffManagement1Mapper.selectWkCrmStaffManagement1ById(id);
}
/**
* 查询员工管理列表
*
* @param wkCrmStaffManagement1 员工管理
* @return 员工管理
*/
@Override
public List<WkCrmStaffManagement1> selectWkCrmStaffManagement1List(WkCrmStaffManagement1 wkCrmStaffManagement1)
{
return wkCrmStaffManagement1Mapper.selectWkCrmStaffManagement1List(wkCrmStaffManagement1);
}
/**
* 新增员工管理
*
* @param wkCrmStaffManagement1 员工管理
* @return 结果
*/
@Override
public int insertWkCrmStaffManagement1(WkCrmStaffManagement1 wkCrmStaffManagement1)
{
return wkCrmStaffManagement1Mapper.insertWkCrmStaffManagement1(wkCrmStaffManagement1);
}
/**
* 修改员工管理
*
* @param wkCrmStaffManagement1 员工管理
* @return 结果
*/
@Override
public int updateWkCrmStaffManagement1(WkCrmStaffManagement1 wkCrmStaffManagement1)
{
return wkCrmStaffManagement1Mapper.updateWkCrmStaffManagement1(wkCrmStaffManagement1);
}
/**
* 删除员工管理对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWkCrmStaffManagement1ByIds(String ids)
{
return wkCrmStaffManagement1Mapper.deleteWkCrmStaffManagement1ByIds(Convert.toStrArray(ids));
}
/**
* 删除员工管理信息
*
* @param id 员工管理ID
* @return 结果
*/
@Override
public int deleteWkCrmStaffManagement1ById(Long id)
{
return wkCrmStaffManagement1Mapper.deleteWkCrmStaffManagement1ById(id);
}
}

View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmCandidateMapper">
<resultMap type="WkCrmCandidate" id="WkCrmCandidateResult">
<result property="id" column="id" />
<result property="position" column="position" />
<result property="department" column="department" />
<result property="candidateStatus" column="candidate_status" />
<result property="phone" column="phone" />
<result property="gender" column="gender" />
<result property="age" column="age" />
<result property="email" column="email" />
<result property="boss" column="boss" />
<result property="workingYears" column="working_years" />
<result property="education" column="education" />
<result property="graduate" column="graduate" />
<result property="work" column="work" />
<result property="recruitment" column="recruitment" />
<result property="interview" column="interview" />
<result property="degree" column="degree" />
<result property="interviewer" column="interviewer" />
<result property="waysOfIntervie" column="ways_of_intervie" />
<result property="elseInterviewer" column="else_interviewer" />
<result property="creation" column="creation" />
</resultMap>
<sql id="selectWkCrmCandidateVo">
select id, position, department, candidate_status, phone, gender, age, email, boss, working_years, education, graduate, work, recruitment, interview, degree, interviewer, ways_of_intervie, else_interviewer, creation from wk_crm_candidate
</sql>
<select id="selectWkCrmCandidateList" parameterType="WkCrmCandidate" resultMap="WkCrmCandidateResult">
<include refid="selectWkCrmCandidateVo"/>
<where>
<if test="position != null and position != ''"> and position = #{position}</if>
<if test="department != null and department != ''"> and department = #{department}</if>
<if test="candidateStatus != null and candidateStatus != ''"> and candidate_status = #{candidateStatus}</if>
<if test="phone != null and phone != ''"> and phone = #{phone}</if>
<if test="gender != null and gender != ''"> and gender = #{gender}</if>
<if test="age != null "> and age = #{age}</if>
<if test="email != null and email != ''"> and email = #{email}</if>
<if test="boss != null and boss != ''"> and boss = #{boss}</if>
<if test="workingYears != null and workingYears != ''"> and working_years = #{workingYears}</if>
<if test="education != null and education != ''"> and education = #{education}</if>
<if test="graduate != null and graduate != ''"> and graduate = #{graduate}</if>
<if test="work != null and work != ''"> and work = #{work}</if>
<if test="recruitment != null and recruitment != ''"> and recruitment = #{recruitment}</if>
<if test="interview != null "> and interview = #{interview}</if>
<if test="degree != null and degree != ''"> and degree = #{degree}</if>
<if test="interviewer != null and interviewer != ''"> and interviewer = #{interviewer}</if>
<if test="waysOfIntervie != null and waysOfIntervie != ''"> and ways_of_intervie = #{waysOfIntervie}</if>
<if test="elseInterviewer != null and elseInterviewer != ''"> and else_interviewer = #{elseInterviewer}</if>
<if test="creation != null "> and creation = #{creation}</if>
</where>
</select>
<select id="selectWkCrmCandidateById" parameterType="Integer" resultMap="WkCrmCandidateResult">
<include refid="selectWkCrmCandidateVo"/>
where id = #{id}
</select>
<insert id="insertWkCrmCandidate" parameterType="WkCrmCandidate" useGeneratedKeys="true" keyProperty="id">
insert into wk_crm_candidate
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="position != null">position,</if>
<if test="department != null">department,</if>
<if test="candidateStatus != null">candidate_status,</if>
<if test="phone != null">phone,</if>
<if test="gender != null">gender,</if>
<if test="age != null">age,</if>
<if test="email != null">email,</if>
<if test="boss != null">boss,</if>
<if test="workingYears != null">working_years,</if>
<if test="education != null">education,</if>
<if test="graduate != null">graduate,</if>
<if test="work != null">work,</if>
<if test="recruitment != null">recruitment,</if>
<if test="interview != null">interview,</if>
<if test="degree != null">degree,</if>
<if test="interviewer != null">interviewer,</if>
<if test="waysOfIntervie != null">ways_of_intervie,</if>
<if test="elseInterviewer != null">else_interviewer,</if>
<if test="creation != null">creation,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="position != null">#{position},</if>
<if test="department != null">#{department},</if>
<if test="candidateStatus != null">#{candidateStatus},</if>
<if test="phone != null">#{phone},</if>
<if test="gender != null">#{gender},</if>
<if test="age != null">#{age},</if>
<if test="email != null">#{email},</if>
<if test="boss != null">#{boss},</if>
<if test="workingYears != null">#{workingYears},</if>
<if test="education != null">#{education},</if>
<if test="graduate != null">#{graduate},</if>
<if test="work != null">#{work},</if>
<if test="recruitment != null">#{recruitment},</if>
<if test="interview != null">#{interview},</if>
<if test="degree != null">#{degree},</if>
<if test="interviewer != null">#{interviewer},</if>
<if test="waysOfIntervie != null">#{waysOfIntervie},</if>
<if test="elseInterviewer != null">#{elseInterviewer},</if>
<if test="creation != null">#{creation},</if>
</trim>
</insert>
<update id="updateWkCrmCandidate" parameterType="WkCrmCandidate">
update wk_crm_candidate
<trim prefix="SET" suffixOverrides=",">
<if test="position != null">position = #{position},</if>
<if test="department != null">department = #{department},</if>
<if test="candidateStatus != null">candidate_status = #{candidateStatus},</if>
<if test="phone != null">phone = #{phone},</if>
<if test="gender != null">gender = #{gender},</if>
<if test="age != null">age = #{age},</if>
<if test="email != null">email = #{email},</if>
<if test="boss != null">boss = #{boss},</if>
<if test="workingYears != null">working_years = #{workingYears},</if>
<if test="education != null">education = #{education},</if>
<if test="graduate != null">graduate = #{graduate},</if>
<if test="work != null">work = #{work},</if>
<if test="recruitment != null">recruitment = #{recruitment},</if>
<if test="interview != null">interview = #{interview},</if>
<if test="degree != null">degree = #{degree},</if>
<if test="interviewer != null">interviewer = #{interviewer},</if>
<if test="waysOfIntervie != null">ways_of_intervie = #{waysOfIntervie},</if>
<if test="elseInterviewer != null">else_interviewer = #{elseInterviewer},</if>
<if test="creation != null">creation = #{creation},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWkCrmCandidateById" parameterType="Integer">
delete from wk_crm_candidate where id = #{id}
</delete>
<delete id="deleteWkCrmCandidateByIds" parameterType="String">
delete from wk_crm_candidate where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmContactsMapper">
<resultMap type="WkCrmContacts" id="WkCrmContactsResult">
<result property="contactsId" column="contacts_id" />
<result property="name" column="name" />
<result property="nextTime" column="next_time" />
<result property="mobile" column="mobile" />
<result property="telephone" column="telephone" />
<result property="email" column="email" />
<result property="post" column="post" />
<result property="customerId" column="customer_id" />
<result property="address" column="address" />
<result property="remark" column="remark" />
<result property="createUserId" column="create_user_id" />
<result property="ownerUserId" column="owner_user_id" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="batchId" column="batch_id" />
<result property="lastTime" column="last_time" />
</resultMap>
<sql id="selectWkCrmContactsVo">
select contacts_id, name, next_time, mobile, telephone, email, post, customer_id, address, remark, create_user_id, owner_user_id, create_time, update_time, batch_id, last_time from wk_crm_contacts
</sql>
<select id="selectWkCrmContactsList" parameterType="WkCrmContacts" resultMap="WkCrmContactsResult">
<include refid="selectWkCrmContactsVo"/>
<where>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="nextTime != null "> and next_time = #{nextTime}</if>
<if test="mobile != null and mobile != ''"> and mobile = #{mobile}</if>
<if test="telephone != null and telephone != ''"> and telephone = #{telephone}</if>
<if test="email != null and email != ''"> and email = #{email}</if>
<if test="post != null and post != ''"> and post = #{post}</if>
<if test="customerId != null "> and customer_id = #{customerId}</if>
<if test="address != null and address != ''"> and address = #{address}</if>
<if test="createUserId != null "> and create_user_id = #{createUserId}</if>
<if test="ownerUserId != null "> and owner_user_id = #{ownerUserId}</if>
<if test="batchId != null and batchId != ''"> and batch_id = #{batchId}</if>
<if test="lastTime != null "> and last_time = #{lastTime}</if>
</where>
</select>
<select id="selectWkCrmContactsById" parameterType="Long" resultMap="WkCrmContactsResult">
<include refid="selectWkCrmContactsVo"/>
where contacts_id = #{contactsId}
</select>
<insert id="insertWkCrmContacts" parameterType="WkCrmContacts" useGeneratedKeys="true" keyProperty="contactsId">
insert into wk_crm_contacts
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">name,</if>
<if test="nextTime != null">next_time,</if>
<if test="mobile != null">mobile,</if>
<if test="telephone != null">telephone,</if>
<if test="email != null">email,</if>
<if test="post != null">post,</if>
<if test="customerId != null">customer_id,</if>
<if test="address != null">address,</if>
<if test="remark != null">remark,</if>
<if test="createUserId != null">create_user_id,</if>
<if test="ownerUserId != null">owner_user_id,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="batchId != null and batchId != ''">batch_id,</if>
<if test="lastTime != null">last_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">#{name},</if>
<if test="nextTime != null">#{nextTime},</if>
<if test="mobile != null">#{mobile},</if>
<if test="telephone != null">#{telephone},</if>
<if test="email != null">#{email},</if>
<if test="post != null">#{post},</if>
<if test="customerId != null">#{customerId},</if>
<if test="address != null">#{address},</if>
<if test="remark != null">#{remark},</if>
<if test="createUserId != null">#{createUserId},</if>
<if test="ownerUserId != null">#{ownerUserId},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="batchId != null and batchId != ''">#{batchId},</if>
<if test="lastTime != null">#{lastTime},</if>
</trim>
</insert>
<update id="updateWkCrmContacts" parameterType="WkCrmContacts">
update wk_crm_contacts
<trim prefix="SET" suffixOverrides=",">
<if test="name != null">name = #{name},</if>
<if test="nextTime != null">next_time = #{nextTime},</if>
<if test="mobile != null">mobile = #{mobile},</if>
<if test="telephone != null">telephone = #{telephone},</if>
<if test="email != null">email = #{email},</if>
<if test="post != null">post = #{post},</if>
<if test="customerId != null">customer_id = #{customerId},</if>
<if test="address != null">address = #{address},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createUserId != null">create_user_id = #{createUserId},</if>
<if test="ownerUserId != null">owner_user_id = #{ownerUserId},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="batchId != null and batchId != ''">batch_id = #{batchId},</if>
<if test="lastTime != null">last_time = #{lastTime},</if>
</trim>
where contacts_id = #{contactsId}
</update>
<delete id="deleteWkCrmContactsById" parameterType="Long">
delete from wk_crm_contacts where contacts_id = #{contactsId}
</delete>
<delete id="deleteWkCrmContactsByIds" parameterType="String">
delete from wk_crm_contacts where contacts_id in
<foreach item="contactsId" collection="array" open="(" separator="," close=")">
#{contactsId}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,164 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmCustomerMapper">
<resultMap type="WkCrmCustomer" id="WkCrmCustomerResult">
<result property="customerId" column="customer_id" />
<result property="customerName" column="customer_name" />
<result property="nextTime" column="next_time" />
<result property="dealStatus" column="deal_status" />
<result property="dealTime" column="deal_time" />
<result property="mobile" column="mobile" />
<result property="telephone" column="telephone" />
<result property="website" column="website" />
<result property="email" column="email" />
<result property="remark" column="remark" />
<result property="createUserId" column="create_user_id" />
<result property="ownerUserId" column="owner_user_id" />
<result property="roUserId" column="ro_user_id" />
<result property="rwUserId" column="rw_user_id" />
<result property="detailAddress" column="detail_address" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="batchId" column="batch_id" />
<result property="lastTime" column="last_time" />
<result property="poolTime" column="pool_time" />
<result property="isReceive" column="is_receive" />
<result property="lastContent" column="last_content" />
<result property="receiveTime" column="receive_time" />
<result property="preOwnerUserId" column="pre_owner_user_id" />
</resultMap>
<sql id="selectWkCrmCustomerVo">
select customer_id, customer_name, next_time, deal_status, deal_time, mobile, telephone, website, email, remark, create_user_id, owner_user_id, ro_user_id, rw_user_id, detail_address, create_time, update_time, batch_id, last_time, pool_time, is_receive, last_content, receive_time, pre_owner_user_id from wk_crm_customer
</sql>
<select id="selectWkCrmCustomerList" parameterType="WkCrmCustomer" resultMap="WkCrmCustomerResult">
<include refid="selectWkCrmCustomerVo"/>
<where>
<if test="customerName != null and customerName != ''"> and customer_name like concat('%', #{customerName}, '%')</if>
<if test="nextTime != null "> and next_time = #{nextTime}</if>
<if test="dealStatus != null "> and deal_status = #{dealStatus}</if>
<if test="dealTime != null "> and deal_time = #{dealTime}</if>
<if test="mobile != null and mobile != ''"> and mobile = #{mobile}</if>
<if test="telephone != null and telephone != ''"> and telephone = #{telephone}</if>
<if test="website != null and website != ''"> and website = #{website}</if>
<if test="email != null and email != ''"> and email = #{email}</if>
<if test="createUserId != null "> and create_user_id = #{createUserId}</if>
<if test="ownerUserId != null "> and owner_user_id = #{ownerUserId}</if>
<if test="roUserId != null and roUserId != ''"> and ro_user_id = #{roUserId}</if>
<if test="rwUserId != null and rwUserId != ''"> and rw_user_id = #{rwUserId}</if>
<if test="detailAddress != null and detailAddress != ''"> and detail_address = #{detailAddress}</if>
<if test="batchId != null and batchId != ''"> and batch_id = #{batchId}</if>
<if test="lastTime != null "> and last_time = #{lastTime}</if>
<if test="poolTime != null "> and pool_time = #{poolTime}</if>
<if test="isReceive != null "> and is_receive = #{isReceive}</if>
<if test="lastContent != null and lastContent != ''"> and last_content = #{lastContent}</if>
<if test="receiveTime != null "> and receive_time = #{receiveTime}</if>
<if test="preOwnerUserId != null "> and pre_owner_user_id = #{preOwnerUserId}</if>
</where>
</select>
<select id="selectWkCrmCustomerById" parameterType="Long" resultMap="WkCrmCustomerResult">
<include refid="selectWkCrmCustomerVo"/>
where customer_id = #{customerId}
</select>
<insert id="insertWkCrmCustomer" parameterType="WkCrmCustomer" useGeneratedKeys="true" keyProperty="customerId">
insert into wk_crm_customer
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="customerName != null">customer_name,</if>
<if test="nextTime != null">next_time,</if>
<if test="dealStatus != null">deal_status,</if>
<if test="dealTime != null">deal_time,</if>
<if test="mobile != null">mobile,</if>
<if test="telephone != null">telephone,</if>
<if test="website != null">website,</if>
<if test="email != null">email,</if>
<if test="remark != null">remark,</if>
<if test="createUserId != null">create_user_id,</if>
<if test="ownerUserId != null">owner_user_id,</if>
<if test="roUserId != null">ro_user_id,</if>
<if test="rwUserId != null">rw_user_id,</if>
<if test="detailAddress != null">detail_address,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="batchId != null and batchId != ''">batch_id,</if>
<if test="lastTime != null">last_time,</if>
<if test="poolTime != null">pool_time,</if>
<if test="isReceive != null">is_receive,</if>
<if test="lastContent != null">last_content,</if>
<if test="receiveTime != null">receive_time,</if>
<if test="preOwnerUserId != null">pre_owner_user_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="customerName != null">#{customerName},</if>
<if test="nextTime != null">#{nextTime},</if>
<if test="dealStatus != null">#{dealStatus},</if>
<if test="dealTime != null">#{dealTime},</if>
<if test="mobile != null">#{mobile},</if>
<if test="telephone != null">#{telephone},</if>
<if test="website != null">#{website},</if>
<if test="email != null">#{email},</if>
<if test="remark != null">#{remark},</if>
<if test="createUserId != null">#{createUserId},</if>
<if test="ownerUserId != null">#{ownerUserId},</if>
<if test="roUserId != null">#{roUserId},</if>
<if test="rwUserId != null">#{rwUserId},</if>
<if test="detailAddress != null">#{detailAddress},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="batchId != null and batchId != ''">#{batchId},</if>
<if test="lastTime != null">#{lastTime},</if>
<if test="poolTime != null">#{poolTime},</if>
<if test="isReceive != null">#{isReceive},</if>
<if test="lastContent != null">#{lastContent},</if>
<if test="receiveTime != null">#{receiveTime},</if>
<if test="preOwnerUserId != null">#{preOwnerUserId},</if>
</trim>
</insert>
<update id="updateWkCrmCustomer" parameterType="WkCrmCustomer">
update wk_crm_customer
<trim prefix="SET" suffixOverrides=",">
<if test="customerName != null">customer_name = #{customerName},</if>
<if test="nextTime != null">next_time = #{nextTime},</if>
<if test="dealStatus != null">deal_status = #{dealStatus},</if>
<if test="dealTime != null">deal_time = #{dealTime},</if>
<if test="mobile != null">mobile = #{mobile},</if>
<if test="telephone != null">telephone = #{telephone},</if>
<if test="website != null">website = #{website},</if>
<if test="email != null">email = #{email},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createUserId != null">create_user_id = #{createUserId},</if>
<if test="ownerUserId != null">owner_user_id = #{ownerUserId},</if>
<if test="roUserId != null">ro_user_id = #{roUserId},</if>
<if test="rwUserId != null">rw_user_id = #{rwUserId},</if>
<if test="detailAddress != null">detail_address = #{detailAddress},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="batchId != null and batchId != ''">batch_id = #{batchId},</if>
<if test="lastTime != null">last_time = #{lastTime},</if>
<if test="poolTime != null">pool_time = #{poolTime},</if>
<if test="isReceive != null">is_receive = #{isReceive},</if>
<if test="lastContent != null">last_content = #{lastContent},</if>
<if test="receiveTime != null">receive_time = #{receiveTime},</if>
<if test="preOwnerUserId != null">pre_owner_user_id = #{preOwnerUserId},</if>
</trim>
where customer_id = #{customerId}
</update>
<delete id="deleteWkCrmCustomerById" parameterType="Long">
delete from wk_crm_customer where customer_id = #{customerId}
</delete>
<delete id="deleteWkCrmCustomerByIds" parameterType="String">
delete from wk_crm_customer where customer_id in
<foreach item="customerId" collection="array" open="(" separator="," close=")">
#{customerId}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmCustomerPoolMapper">
<resultMap type="WkCrmCustomerPool" id="WkCrmCustomerPoolResult">
<result property="poolId" column="pool_id" />
<result property="poolName" column="pool_name" />
<result property="adminUserId" column="admin_user_id" />
<result property="memberUserId" column="member_user_id" />
<result property="memberDeptId" column="member_dept_id" />
<result property="status" column="status" />
<result property="preOwnerSetting" column="pre_owner_setting" />
<result property="preOwnerSettingDay" column="pre_owner_setting_day" />
<result property="receiveSetting" column="receive_setting" />
<result property="receiveNum" column="receive_num" />
<result property="remindSetting" column="remind_setting" />
<result property="remindDay" column="remind_day" />
<result property="putInRule" column="put_in_rule" />
<result property="createUserId" column="create_user_id" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectWkCrmCustomerPoolVo">
select pool_id, pool_name, admin_user_id, member_user_id, member_dept_id, status, pre_owner_setting, pre_owner_setting_day, receive_setting, receive_num, remind_setting, remind_day, put_in_rule, create_user_id, create_time from wk_crm_customer_pool
</sql>
<select id="selectWkCrmCustomerPoolList" parameterType="WkCrmCustomerPool" resultMap="WkCrmCustomerPoolResult">
<include refid="selectWkCrmCustomerPoolVo"/>
<where>
<if test="poolName != null and poolName != ''"> and pool_name like concat('%', #{poolName}, '%')</if>
<if test="adminUserId != null and adminUserId != ''"> and admin_user_id = #{adminUserId}</if>
<if test="memberUserId != null and memberUserId != ''"> and member_user_id = #{memberUserId}</if>
<if test="memberDeptId != null and memberDeptId != ''"> and member_dept_id = #{memberDeptId}</if>
<if test="status != null "> and status = #{status}</if>
<if test="preOwnerSetting != null "> and pre_owner_setting = #{preOwnerSetting}</if>
<if test="preOwnerSettingDay != null "> and pre_owner_setting_day = #{preOwnerSettingDay}</if>
<if test="receiveSetting != null "> and receive_setting = #{receiveSetting}</if>
<if test="receiveNum != null "> and receive_num = #{receiveNum}</if>
<if test="remindSetting != null "> and remind_setting = #{remindSetting}</if>
<if test="remindDay != null "> and remind_day = #{remindDay}</if>
<if test="putInRule != null "> and put_in_rule = #{putInRule}</if>
<if test="createUserId != null "> and create_user_id = #{createUserId}</if>
</where>
</select>
<select id="selectWkCrmCustomerPoolById" parameterType="Long" resultMap="WkCrmCustomerPoolResult">
<include refid="selectWkCrmCustomerPoolVo"/>
where pool_id = #{poolId}
</select>
<insert id="insertWkCrmCustomerPool" parameterType="WkCrmCustomerPool" useGeneratedKeys="true" keyProperty="poolId">
insert into wk_crm_customer_pool
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="poolName != null and poolName != ''">pool_name,</if>
<if test="adminUserId != null and adminUserId != ''">admin_user_id,</if>
<if test="memberUserId != null">member_user_id,</if>
<if test="memberDeptId != null">member_dept_id,</if>
<if test="status != null">status,</if>
<if test="preOwnerSetting != null">pre_owner_setting,</if>
<if test="preOwnerSettingDay != null">pre_owner_setting_day,</if>
<if test="receiveSetting != null">receive_setting,</if>
<if test="receiveNum != null">receive_num,</if>
<if test="remindSetting != null">remind_setting,</if>
<if test="remindDay != null">remind_day,</if>
<if test="putInRule != null">put_in_rule,</if>
<if test="createUserId != null">create_user_id,</if>
<if test="createTime != null">create_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="poolName != null and poolName != ''">#{poolName},</if>
<if test="adminUserId != null and adminUserId != ''">#{adminUserId},</if>
<if test="memberUserId != null">#{memberUserId},</if>
<if test="memberDeptId != null">#{memberDeptId},</if>
<if test="status != null">#{status},</if>
<if test="preOwnerSetting != null">#{preOwnerSetting},</if>
<if test="preOwnerSettingDay != null">#{preOwnerSettingDay},</if>
<if test="receiveSetting != null">#{receiveSetting},</if>
<if test="receiveNum != null">#{receiveNum},</if>
<if test="remindSetting != null">#{remindSetting},</if>
<if test="remindDay != null">#{remindDay},</if>
<if test="putInRule != null">#{putInRule},</if>
<if test="createUserId != null">#{createUserId},</if>
<if test="createTime != null">#{createTime},</if>
</trim>
</insert>
<update id="updateWkCrmCustomerPool" parameterType="WkCrmCustomerPool">
update wk_crm_customer_pool
<trim prefix="SET" suffixOverrides=",">
<if test="poolName != null and poolName != ''">pool_name = #{poolName},</if>
<if test="adminUserId != null and adminUserId != ''">admin_user_id = #{adminUserId},</if>
<if test="memberUserId != null">member_user_id = #{memberUserId},</if>
<if test="memberDeptId != null">member_dept_id = #{memberDeptId},</if>
<if test="status != null">status = #{status},</if>
<if test="preOwnerSetting != null">pre_owner_setting = #{preOwnerSetting},</if>
<if test="preOwnerSettingDay != null">pre_owner_setting_day = #{preOwnerSettingDay},</if>
<if test="receiveSetting != null">receive_setting = #{receiveSetting},</if>
<if test="receiveNum != null">receive_num = #{receiveNum},</if>
<if test="remindSetting != null">remind_setting = #{remindSetting},</if>
<if test="remindDay != null">remind_day = #{remindDay},</if>
<if test="putInRule != null">put_in_rule = #{putInRule},</if>
<if test="createUserId != null">create_user_id = #{createUserId},</if>
<if test="createTime != null">create_time = #{createTime},</if>
</trim>
where pool_id = #{poolId}
</update>
<delete id="deleteWkCrmCustomerPoolById" parameterType="Long">
delete from wk_crm_customer_pool where pool_id = #{poolId}
</delete>
<delete id="deleteWkCrmCustomerPoolByIds" parameterType="String">
delete from wk_crm_customer_pool where pool_id in
<foreach item="poolId" collection="array" open="(" separator="," close=")">
#{poolId}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmLeadsMapper">
<resultMap type="com.ruoyi.system.domain.WkCrmLeads" id="WkCrmLeadsResult">
<result property="leadsId" column="leads_id" />
<result property="followup" column="followup" />
<result property="leadsName" column="leads_name" />
<result property="nextTime" column="next_time" />
<result property="telephone" column="telephone" />
<result property="mobile" column="mobile" />
<result property="email" column="email" />
<result property="address" column="address" />
<result property="remark" column="remark" />
<result property="createUserId" column="create_user_id" />
<result property="ownerUserId" column="owner_user_id" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="lastTime" column="last_time" />
<result property="lastContent" column="last_content" />
</resultMap>
<sql id="selectWkCrmLeadsVo">
select leads_id, followup, leads_name, next_time, telephone, mobile, email, address, remark, create_user_id, owner_user_id, create_time, update_time, last_time, last_content from wk_crm_leads
</sql>
<select id="selectWkCrmLeadsList" parameterType="WkCrmLeads" resultMap="WkCrmLeadsResult">
<include refid="selectWkCrmLeadsVo"/>
<where>
<if test="followup != null "> and followup = #{followup}</if>
<if test="leadsName != null and leadsName != ''"> and leads_name like concat('%', #{leadsName}, '%')</if>
<if test="nextTime != null "> and next_time = #{nextTime}</if>
<if test="telephone != null and telephone != ''"> and telephone = #{telephone}</if>
<if test="mobile != null and mobile != ''"> and mobile = #{mobile}</if>
<if test="email != null and email != ''"> and email = #{email}</if>
<if test="address != null and address != ''"> and address = #{address}</if>
<if test="createUserId != null "> and create_user_id = #{createUserId}</if>
<if test="ownerUserId != null "> and owner_user_id = #{ownerUserId}</if>
<if test="lastTime != null "> and last_time = #{lastTime}</if>
<if test="lastContent != null and lastContent != ''"> and last_content = #{lastContent}</if>
</where>
</select>
<select id="selectWkCrmLeadsById" parameterType="Long" resultMap="WkCrmLeadsResult">
<include refid="selectWkCrmLeadsVo"/>
where leads_id = #{leadsId}
</select>
<insert id="insertWkCrmLeads" parameterType="WkCrmLeads" useGeneratedKeys="true" keyProperty="leadsId">
insert into wk_crm_leads
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="followup != null">followup,</if>
<if test="leadsName != null">leads_name,</if>
<if test="nextTime != null">next_time,</if>
<if test="telephone != null">telephone,</if>
<if test="mobile != null">mobile,</if>
<if test="email != null">email,</if>
<if test="address != null">address,</if>
<if test="remark != null">remark,</if>
<if test="createUserId != null">create_user_id,</if>
<if test="ownerUserId != null">owner_user_id,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="lastTime != null">last_time,</if>
<if test="lastContent != null">last_content,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="followup != null">#{followup},</if>
<if test="leadsName != null">#{leadsName},</if>
<if test="nextTime != null">#{nextTime},</if>
<if test="telephone != null">#{telephone},</if>
<if test="mobile != null">#{mobile},</if>
<if test="email != null">#{email},</if>
<if test="address != null">#{address},</if>
<if test="remark != null">#{remark},</if>
<if test="createUserId != null">#{createUserId},</if>
<if test="ownerUserId != null">#{ownerUserId},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="lastTime != null">#{lastTime},</if>
<if test="lastContent != null">#{lastContent},</if>
</trim>
</insert>
<update id="updateWkCrmLeads" parameterType="WkCrmLeads">
update wk_crm_leads
<trim prefix="SET" suffixOverrides=",">
<if test="followup != null">followup = #{followup},</if>
<if test="leadsName != null">leads_name = #{leadsName},</if>
<if test="nextTime != null">next_time = #{nextTime},</if>
<if test="telephone != null">telephone = #{telephone},</if>
<if test="mobile != null">mobile = #{mobile},</if>
<if test="email != null">email = #{email},</if>
<if test="address != null">address = #{address},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createUserId != null">create_user_id = #{createUserId},</if>
<if test="ownerUserId != null">owner_user_id = #{ownerUserId},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="lastTime != null">last_time = #{lastTime},</if>
<if test="lastContent != null">last_content = #{lastContent},</if>
</trim>
where leads_id = #{leadsId}
</update>
<delete id="deleteWkCrmLeadsById" parameterType="Long">
delete from wk_crm_leads where leads_id = #{leadsId}
</delete>
<delete id="deleteWkCrmLeadsByIds" parameterType="String">
delete from wk_crm_leads where leads_id in
<foreach item="leadsId" collection="array" open="(" separator="," close=")">
#{leadsId}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmOrganizationManagementMapper">
<resultMap type="WkCrmOrganizationManagement" id="WkCrmOrganizationManagementResult">
<result property="id" column="id" />
<result property="company" column="company" />
<result property="generalManager" column="general_manager" />
<result property="administrationSection" column="administration_section" />
<result property="ministryPersonnel" column="ministry_personnel" />
<result property="accountingDepartment" column="accounting_department" />
<result property="researchDevelopment" column="research_development" />
<result property="bazaar" column="bazaar" />
</resultMap>
<sql id="selectWkCrmOrganizationManagementVo">
select id, company, general_manager, administration_section, ministry_personnel, accounting_department, research_development, bazaar from wk_crm_organization_management
</sql>
<select id="selectWkCrmOrganizationManagementList" parameterType="WkCrmOrganizationManagement" resultMap="WkCrmOrganizationManagementResult">
<include refid="selectWkCrmOrganizationManagementVo"/>
<where>
<if test="company != null and company != ''"> and company = #{company}</if>
<if test="generalManager != null and generalManager != ''"> and general_manager = #{generalManager}</if>
<if test="administrationSection != null and administrationSection != ''"> and administration_section = #{administrationSection}</if>
<if test="ministryPersonnel != null and ministryPersonnel != ''"> and ministry_personnel = #{ministryPersonnel}</if>
<if test="accountingDepartment != null and accountingDepartment != ''"> and accounting_department = #{accountingDepartment}</if>
<if test="researchDevelopment != null and researchDevelopment != ''"> and research_development = #{researchDevelopment}</if>
<if test="bazaar != null and bazaar != ''"> and bazaar = #{bazaar}</if>
</where>
</select>
<select id="selectWkCrmOrganizationManagementById" parameterType="Long" resultMap="WkCrmOrganizationManagementResult">
<include refid="selectWkCrmOrganizationManagementVo"/>
where id = #{id}
</select>
<insert id="insertWkCrmOrganizationManagement" parameterType="WkCrmOrganizationManagement" useGeneratedKeys="true" keyProperty="id">
insert into wk_crm_organization_management
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="company != null">company,</if>
<if test="generalManager != null">general_manager,</if>
<if test="administrationSection != null">administration_section,</if>
<if test="ministryPersonnel != null">ministry_personnel,</if>
<if test="accountingDepartment != null">accounting_department,</if>
<if test="researchDevelopment != null">research_development,</if>
<if test="bazaar != null">bazaar,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="company != null">#{company},</if>
<if test="generalManager != null">#{generalManager},</if>
<if test="administrationSection != null">#{administrationSection},</if>
<if test="ministryPersonnel != null">#{ministryPersonnel},</if>
<if test="accountingDepartment != null">#{accountingDepartment},</if>
<if test="researchDevelopment != null">#{researchDevelopment},</if>
<if test="bazaar != null">#{bazaar},</if>
</trim>
</insert>
<update id="updateWkCrmOrganizationManagement" parameterType="WkCrmOrganizationManagement">
update wk_crm_organization_management
<trim prefix="SET" suffixOverrides=",">
<if test="company != null">company = #{company},</if>
<if test="generalManager != null">general_manager = #{generalManager},</if>
<if test="administrationSection != null">administration_section = #{administrationSection},</if>
<if test="ministryPersonnel != null">ministry_personnel = #{ministryPersonnel},</if>
<if test="accountingDepartment != null">accounting_department = #{accountingDepartment},</if>
<if test="researchDevelopment != null">research_development = #{researchDevelopment},</if>
<if test="bazaar != null">bazaar = #{bazaar},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWkCrmOrganizationManagementById" parameterType="Long">
delete from wk_crm_organization_management where id = #{id}
</delete>
<delete id="deleteWkCrmOrganizationManagementByIds" parameterType="String">
delete from wk_crm_organization_management where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmRecruitmentMapper">
<resultMap type="WkCrmRecruitment" id="WkCrmRecruitmentResult">
<result property="id" column="id" />
<result property="jobTitle" column="job_title" />
<result property="employPersons" column="employ_persons" />
<result property="natureofWork" column="natureof_work" />
<result property="workCity" column="work_city" />
<result property="hiring" column="hiring" />
<result property="employees" column="employees" />
<result property="schedule" column="schedule" />
<result property="experience" column="experience" />
<result property="required" column="required" />
<result property="range" column="range" />
</resultMap>
<sql id="selectWkCrmRecruitmentVo">
select id, job_title, employ_persons, natureof_work, work_city, hiring, employees, schedule, experience, required, range from wk_crm_recruitment
</sql>
<select id="selectWkCrmRecruitmentList" parameterType="WkCrmRecruitment" resultMap="WkCrmRecruitmentResult">
<include refid="selectWkCrmRecruitmentVo"/>
<where>
<if test="jobTitle != null and jobTitle != ''"> and job_title = #{jobTitle}</if>
<if test="employPersons != null and employPersons != ''"> and employ_persons = #{employPersons}</if>
<if test="natureofWork != null and natureofWork != ''"> and natureof_work = #{natureofWork}</if>
<if test="workCity != null and workCity != ''"> and work_city = #{workCity}</if>
<if test="hiring != null "> and hiring = #{hiring}</if>
<if test="employees != null "> and employees = #{employees}</if>
<if test="schedule != null and schedule != ''"> and schedule = #{schedule}</if>
<if test="experience != null and experience != ''"> and experience = #{experience}</if>
<if test="required != null and required != ''"> and required = #{required}</if>
<if test="range != null and range != ''"> and range = #{range}</if>
</where>
</select>
<select id="selectWkCrmRecruitmentById" parameterType="Long" resultMap="WkCrmRecruitmentResult">
<include refid="selectWkCrmRecruitmentVo"/>
where id = #{id}
</select>
<insert id="insertWkCrmRecruitment" parameterType="WkCrmRecruitment" useGeneratedKeys="true" keyProperty="id">
insert into wk_crm_recruitment
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="jobTitle != null">job_title,</if>
<if test="employPersons != null">employ_persons,</if>
<if test="natureofWork != null">natureof_work,</if>
<if test="workCity != null">work_city,</if>
<if test="hiring != null">hiring,</if>
<if test="employees != null">employees,</if>
<if test="schedule != null">schedule,</if>
<if test="experience != null">experience,</if>
<if test="required != null">required,</if>
<if test="range != null">range,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="jobTitle != null">#{jobTitle},</if>
<if test="employPersons != null">#{employPersons},</if>
<if test="natureofWork != null">#{natureofWork},</if>
<if test="workCity != null">#{workCity},</if>
<if test="hiring != null">#{hiring},</if>
<if test="employees != null">#{employees},</if>
<if test="schedule != null">#{schedule},</if>
<if test="experience != null">#{experience},</if>
<if test="required != null">#{required},</if>
<if test="range != null">#{range},</if>
</trim>
</insert>
<update id="updateWkCrmRecruitment" parameterType="WkCrmRecruitment">
update wk_crm_recruitment
<trim prefix="SET" suffixOverrides=",">
<if test="jobTitle != null">job_title = #{jobTitle},</if>
<if test="employPersons != null">employ_persons = #{employPersons},</if>
<if test="natureofWork != null">natureof_work = #{natureofWork},</if>
<if test="workCity != null">work_city = #{workCity},</if>
<if test="hiring != null">hiring = #{hiring},</if>
<if test="employees != null">employees = #{employees},</if>
<if test="schedule != null">schedule = #{schedule},</if>
<if test="experience != null">experience = #{experience},</if>
<if test="required != null">required = #{required},</if>
<if test="range != null">range = #{range},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWkCrmRecruitmentById" parameterType="Long">
delete from wk_crm_recruitment where id = #{id}
</delete>
<delete id="deleteWkCrmRecruitmentByIds" parameterType="String">
delete from wk_crm_recruitment where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.WkCrmStaffManagement1Mapper">
<resultMap type="WkCrmStaffManagement1" id="WkCrmStaffManagement1Result">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="mobilePhone" column="mobile_phone" />
<result property="certificateType" column="certificate_type" />
<result property="certificateId" column="certificate_id" />
<result property="gender" column="gender" />
<result property="birthdayDate" column="birthday_date" />
<result property="birthday" column="birthday" />
<result property="age" column="age" />
<result property="married" column="married" />
<result property="pregnancy" column="pregnancy" />
<result property="countriesRegions" column="countries_regions" />
<result property="nation" column="nation" />
<result property="politicsStatus" column="politics_status" />
<result property="nativePlace" column="native_place" />
<result property="placeOfDomicile" column="place_of_domicile" />
<result property="health" column="health" />
<result property="highestEducation" column="highest_education" />
<result property="hireDate" column="hire_date" />
<result property="probationPeriod" column="probation_period" />
<result property="regularizationDate" column="Regularization_date" />
<result property="jobNumber" column="job_number" />
<result property="department" column="department" />
<result property="directSupervisor" column="direct_supervisor" />
<result property="post" column="post" />
<result property="jobGrade" column="job_grade" />
<result property="workSite" column="work_site" />
<result property="detailedWorkLocation" column="detailed_work_location" />
<result property="workCity" column="work_city" />
<result property="recruitmentChannel" column="recruitment_channel" />
<result property="employmentCity" column="employment_city" />
<result property="commencementSeniorityDate" column="commencement_seniority_date" />
<result property="workingYears" column="working_years" />
<result property="contractType" column="contract_type" />
<result property="contractCommencementTime" column="contract_commencement_time" />
<result property="endOfContrac" column="end_of_contrac" />
<result property="currentContractTerm" column="current_contract_term" />
<result property="wagesCardNumber" column="wages_card_number" />
<result property="accountOpeningCity" column="account_opening_city" />
<result property="bankCardName" column="bank_card_name" />
<result property="payCardBank" column="pay_card_bank" />
<result property="socialSecurityAccount" column="social_security_account" />
<result property="providentFundAccount" column="provident_fund_account" />
<result property="operation" column="operation" />
<result property="regularization" column="regularization" />
<result property="adjustmentOfDepartmentalPosts" column="adjustment_of_departmental_posts" />
<result property="promotion" column="promotion" />
<result property="ginsengProtectPlan" column="ginseng_protect_plan" />
<result property="forDeparture" column="for_departure" />
<result property="userId" column="userId" />
</resultMap>
<sql id="selectWkCrmStaffManagement1Vo">
select id, name, mobile_phone, certificate_type, certificate_id, gender, birthday_date, birthday, age, married, pregnancy, countries_regions, nation, politics_status, native_place, place_of_domicile, health, highest_education, hire_date, probation_period, Regularization_date, job_number, department, direct_supervisor, post, job_grade, work_site, detailed_work_location, work_city, recruitment_channel, employment_city, commencement_seniority_date, working_years, contract_type, contract_commencement_time, end_of_contrac, current_contract_term, wages_card_number, account_opening_city, bank_card_name, pay_card_bank, social_security_account, provident_fund_account, operation, regularization, adjustment_of_departmental_posts, promotion, ginseng_protect_plan, for_departure, userId from wk_crm_staff_management1
</sql>
<select id="selectWkCrmStaffManagement1List" parameterType="WkCrmStaffManagement1" resultMap="WkCrmStaffManagement1Result">
<include refid="selectWkCrmStaffManagement1Vo"/>
<where>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="mobilePhone != null and mobilePhone != ''"> and mobile_phone = #{mobilePhone}</if>
<if test="certificateType != null and certificateType != ''"> and certificate_type = #{certificateType}</if>
<if test="certificateId != null and certificateId != ''"> and certificate_id = #{certificateId}</if>
<if test="gender != null and gender != ''"> and gender = #{gender}</if>
<if test="birthdayDate != null "> and birthday_date = #{birthdayDate}</if>
<if test="birthday != null "> and birthday = #{birthday}</if>
<if test="age != null "> and age = #{age}</if>
<if test="married != null and married != ''"> and married = #{married}</if>
<if test="pregnancy != null and pregnancy != ''"> and pregnancy = #{pregnancy}</if>
<if test="countriesRegions != null and countriesRegions != ''"> and countries_regions = #{countriesRegions}</if>
<if test="nation != null and nation != ''"> and nation = #{nation}</if>
<if test="politicsStatus != null and politicsStatus != ''"> and politics_status = #{politicsStatus}</if>
<if test="nativePlace != null and nativePlace != ''"> and native_place = #{nativePlace}</if>
<if test="placeOfDomicile != null and placeOfDomicile != ''"> and place_of_domicile = #{placeOfDomicile}</if>
<if test="health != null and health != ''"> and health = #{health}</if>
<if test="highestEducation != null and highestEducation != ''"> and highest_education = #{highestEducation}</if>
<if test="hireDate != null "> and hire_date = #{hireDate}</if>
<if test="probationPeriod != null "> and probation_period = #{probationPeriod}</if>
<if test="regularizationDate != null "> and Regularization_date = #{regularizationDate}</if>
<if test="jobNumber != null "> and job_number = #{jobNumber}</if>
<if test="department != null and department != ''"> and department = #{department}</if>
<if test="directSupervisor != null and directSupervisor != ''"> and direct_supervisor = #{directSupervisor}</if>
<if test="post != null and post != ''"> and post = #{post}</if>
<if test="jobGrade != null and jobGrade != ''"> and job_grade = #{jobGrade}</if>
<if test="workSite != null and workSite != ''"> and work_site = #{workSite}</if>
<if test="detailedWorkLocation != null and detailedWorkLocation != ''"> and detailed_work_location = #{detailedWorkLocation}</if>
<if test="workCity != null and workCity != ''"> and work_city = #{workCity}</if>
<if test="recruitmentChannel != null and recruitmentChannel != ''"> and recruitment_channel = #{recruitmentChannel}</if>
<if test="employmentCity != null and employmentCity != ''"> and employment_city = #{employmentCity}</if>
<if test="commencementSeniorityDate != null "> and commencement_seniority_date = #{commencementSeniorityDate}</if>
<if test="workingYears != null "> and working_years = #{workingYears}</if>
<if test="contractType != null and contractType != ''"> and contract_type = #{contractType}</if>
<if test="contractCommencementTime != null "> and contract_commencement_time = #{contractCommencementTime}</if>
<if test="endOfContrac != null "> and end_of_contrac = #{endOfContrac}</if>
<if test="currentContractTerm != null "> and current_contract_term = #{currentContractTerm}</if>
<if test="wagesCardNumber != null "> and wages_card_number = #{wagesCardNumber}</if>
<if test="accountOpeningCity != null and accountOpeningCity != ''"> and account_opening_city = #{accountOpeningCity}</if>
<if test="bankCardName != null and bankCardName != ''"> and bank_card_name like concat('%', #{bankCardName}, '%')</if>
<if test="payCardBank != null and payCardBank != ''"> and pay_card_bank = #{payCardBank}</if>
<if test="socialSecurityAccount != null "> and social_security_account = #{socialSecurityAccount}</if>
<if test="providentFundAccount != null "> and provident_fund_account = #{providentFundAccount}</if>
<if test="operation != null and operation != ''"> and operation = #{operation}</if>
<if test="regularization != null and regularization != ''"> and regularization = #{regularization}</if>
<if test="adjustmentOfDepartmentalPosts != null and adjustmentOfDepartmentalPosts != ''"> and adjustment_of_departmental_posts = #{adjustmentOfDepartmentalPosts}</if>
<if test="promotion != null and promotion != ''"> and promotion = #{promotion}</if>
<if test="ginsengProtectPlan != null and ginsengProtectPlan != ''"> and ginseng_protect_plan = #{ginsengProtectPlan}</if>
<if test="forDeparture != null and forDeparture != ''"> and for_departure = #{forDeparture}</if>
<if test="userId != null and userId != ''"> and userId = #{userId}</if>
</where>
</select>
<select id="selectWkCrmStaffManagement1ById" parameterType="Long" resultMap="WkCrmStaffManagement1Result">
<include refid="selectWkCrmStaffManagement1Vo"/>
where id = #{id}
</select>
<insert id="insertWkCrmStaffManagement1" parameterType="WkCrmStaffManagement1" useGeneratedKeys="true" keyProperty="id">
insert into wk_crm_staff_management1
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">name,</if>
<if test="mobilePhone != null">mobile_phone,</if>
<if test="certificateType != null">certificate_type,</if>
<if test="certificateId != null">certificate_id,</if>
<if test="gender != null">gender,</if>
<if test="birthdayDate != null">birthday_date,</if>
<if test="birthday != null">birthday,</if>
<if test="age != null">age,</if>
<if test="married != null">married,</if>
<if test="pregnancy != null">pregnancy,</if>
<if test="countriesRegions != null">countries_regions,</if>
<if test="nation != null">nation,</if>
<if test="politicsStatus != null">politics_status,</if>
<if test="nativePlace != null">native_place,</if>
<if test="placeOfDomicile != null">place_of_domicile,</if>
<if test="health != null">health,</if>
<if test="highestEducation != null">highest_education,</if>
<if test="hireDate != null">hire_date,</if>
<if test="probationPeriod != null">probation_period,</if>
<if test="regularizationDate != null">Regularization_date,</if>
<if test="jobNumber != null">job_number,</if>
<if test="department != null">department,</if>
<if test="directSupervisor != null">direct_supervisor,</if>
<if test="post != null">post,</if>
<if test="jobGrade != null">job_grade,</if>
<if test="workSite != null">work_site,</if>
<if test="detailedWorkLocation != null">detailed_work_location,</if>
<if test="workCity != null">work_city,</if>
<if test="recruitmentChannel != null">recruitment_channel,</if>
<if test="employmentCity != null">employment_city,</if>
<if test="commencementSeniorityDate != null">commencement_seniority_date,</if>
<if test="workingYears != null">working_years,</if>
<if test="contractType != null">contract_type,</if>
<if test="contractCommencementTime != null">contract_commencement_time,</if>
<if test="endOfContrac != null">end_of_contrac,</if>
<if test="currentContractTerm != null">current_contract_term,</if>
<if test="wagesCardNumber != null">wages_card_number,</if>
<if test="accountOpeningCity != null">account_opening_city,</if>
<if test="bankCardName != null">bank_card_name,</if>
<if test="payCardBank != null">pay_card_bank,</if>
<if test="socialSecurityAccount != null">social_security_account,</if>
<if test="providentFundAccount != null">provident_fund_account,</if>
<if test="operation != null">operation,</if>
<if test="regularization != null">regularization,</if>
<if test="adjustmentOfDepartmentalPosts != null">adjustment_of_departmental_posts,</if>
<if test="promotion != null">promotion,</if>
<if test="ginsengProtectPlan != null">ginseng_protect_plan,</if>
<if test="forDeparture != null">for_departure,</if>
<if test="userId != null">userId,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">#{name},</if>
<if test="mobilePhone != null">#{mobilePhone},</if>
<if test="certificateType != null">#{certificateType},</if>
<if test="certificateId != null">#{certificateId},</if>
<if test="gender != null">#{gender},</if>
<if test="birthdayDate != null">#{birthdayDate},</if>
<if test="birthday != null">#{birthday},</if>
<if test="age != null">#{age},</if>
<if test="married != null">#{married},</if>
<if test="pregnancy != null">#{pregnancy},</if>
<if test="countriesRegions != null">#{countriesRegions},</if>
<if test="nation != null">#{nation},</if>
<if test="politicsStatus != null">#{politicsStatus},</if>
<if test="nativePlace != null">#{nativePlace},</if>
<if test="placeOfDomicile != null">#{placeOfDomicile},</if>
<if test="health != null">#{health},</if>
<if test="highestEducation != null">#{highestEducation},</if>
<if test="hireDate != null">#{hireDate},</if>
<if test="probationPeriod != null">#{probationPeriod},</if>
<if test="regularizationDate != null">#{regularizationDate},</if>
<if test="jobNumber != null">#{jobNumber},</if>
<if test="department != null">#{department},</if>
<if test="directSupervisor != null">#{directSupervisor},</if>
<if test="post != null">#{post},</if>
<if test="jobGrade != null">#{jobGrade},</if>
<if test="workSite != null">#{workSite},</if>
<if test="detailedWorkLocation != null">#{detailedWorkLocation},</if>
<if test="workCity != null">#{workCity},</if>
<if test="recruitmentChannel != null">#{recruitmentChannel},</if>
<if test="employmentCity != null">#{employmentCity},</if>
<if test="commencementSeniorityDate != null">#{commencementSeniorityDate},</if>
<if test="workingYears != null">#{workingYears},</if>
<if test="contractType != null">#{contractType},</if>
<if test="contractCommencementTime != null">#{contractCommencementTime},</if>
<if test="endOfContrac != null">#{endOfContrac},</if>
<if test="currentContractTerm != null">#{currentContractTerm},</if>
<if test="wagesCardNumber != null">#{wagesCardNumber},</if>
<if test="accountOpeningCity != null">#{accountOpeningCity},</if>
<if test="bankCardName != null">#{bankCardName},</if>
<if test="payCardBank != null">#{payCardBank},</if>
<if test="socialSecurityAccount != null">#{socialSecurityAccount},</if>
<if test="providentFundAccount != null">#{providentFundAccount},</if>
<if test="operation != null">#{operation},</if>
<if test="regularization != null">#{regularization},</if>
<if test="adjustmentOfDepartmentalPosts != null">#{adjustmentOfDepartmentalPosts},</if>
<if test="promotion != null">#{promotion},</if>
<if test="ginsengProtectPlan != null">#{ginsengProtectPlan},</if>
<if test="forDeparture != null">#{forDeparture},</if>
<if test="userId != null">#{userId},</if>
</trim>
</insert>
<update id="updateWkCrmStaffManagement1" parameterType="WkCrmStaffManagement1">
update wk_crm_staff_management1
<trim prefix="SET" suffixOverrides=",">
<if test="name != null">name = #{name},</if>
<if test="mobilePhone != null">mobile_phone = #{mobilePhone},</if>
<if test="certificateType != null">certificate_type = #{certificateType},</if>
<if test="certificateId != null">certificate_id = #{certificateId},</if>
<if test="gender != null">gender = #{gender},</if>
<if test="birthdayDate != null">birthday_date = #{birthdayDate},</if>
<if test="birthday != null">birthday = #{birthday},</if>
<if test="age != null">age = #{age},</if>
<if test="married != null">married = #{married},</if>
<if test="pregnancy != null">pregnancy = #{pregnancy},</if>
<if test="countriesRegions != null">countries_regions = #{countriesRegions},</if>
<if test="nation != null">nation = #{nation},</if>
<if test="politicsStatus != null">politics_status = #{politicsStatus},</if>
<if test="nativePlace != null">native_place = #{nativePlace},</if>
<if test="placeOfDomicile != null">place_of_domicile = #{placeOfDomicile},</if>
<if test="health != null">health = #{health},</if>
<if test="highestEducation != null">highest_education = #{highestEducation},</if>
<if test="hireDate != null">hire_date = #{hireDate},</if>
<if test="probationPeriod != null">probation_period = #{probationPeriod},</if>
<if test="regularizationDate != null">Regularization_date = #{regularizationDate},</if>
<if test="jobNumber != null">job_number = #{jobNumber},</if>
<if test="department != null">department = #{department},</if>
<if test="directSupervisor != null">direct_supervisor = #{directSupervisor},</if>
<if test="post != null">post = #{post},</if>
<if test="jobGrade != null">job_grade = #{jobGrade},</if>
<if test="workSite != null">work_site = #{workSite},</if>
<if test="detailedWorkLocation != null">detailed_work_location = #{detailedWorkLocation},</if>
<if test="workCity != null">work_city = #{workCity},</if>
<if test="recruitmentChannel != null">recruitment_channel = #{recruitmentChannel},</if>
<if test="employmentCity != null">employment_city = #{employmentCity},</if>
<if test="commencementSeniorityDate != null">commencement_seniority_date = #{commencementSeniorityDate},</if>
<if test="workingYears != null">working_years = #{workingYears},</if>
<if test="contractType != null">contract_type = #{contractType},</if>
<if test="contractCommencementTime != null">contract_commencement_time = #{contractCommencementTime},</if>
<if test="endOfContrac != null">end_of_contrac = #{endOfContrac},</if>
<if test="currentContractTerm != null">current_contract_term = #{currentContractTerm},</if>
<if test="wagesCardNumber != null">wages_card_number = #{wagesCardNumber},</if>
<if test="accountOpeningCity != null">account_opening_city = #{accountOpeningCity},</if>
<if test="bankCardName != null">bank_card_name = #{bankCardName},</if>
<if test="payCardBank != null">pay_card_bank = #{payCardBank},</if>
<if test="socialSecurityAccount != null">social_security_account = #{socialSecurityAccount},</if>
<if test="providentFundAccount != null">provident_fund_account = #{providentFundAccount},</if>
<if test="operation != null">operation = #{operation},</if>
<if test="regularization != null">regularization = #{regularization},</if>
<if test="adjustmentOfDepartmentalPosts != null">adjustment_of_departmental_posts = #{adjustmentOfDepartmentalPosts},</if>
<if test="promotion != null">promotion = #{promotion},</if>
<if test="ginsengProtectPlan != null">ginseng_protect_plan = #{ginsengProtectPlan},</if>
<if test="forDeparture != null">for_departure = #{forDeparture},</if>
<if test="userId != null">userId = #{userId},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWkCrmStaffManagement1ById" parameterType="Long">
delete from wk_crm_staff_management1 where id = #{id}
</delete>
<delete id="deleteWkCrmStaffManagement1ByIds" parameterType="String">
delete from wk_crm_staff_management1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>