Browse Source

[add]新建业务绩效模块: 业务团队列表功能,技术团队列表功能,业务绩效列表功能, 财务模块:公司成本基本

dev
zhangsiqi 7 months ago
parent
commit
17ef9216a9
  1. 157
      ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpCtcController.java
  2. 172
      ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpUtbItemController.java
  3. 254
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpCtc.java
  4. 140
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpUtbItem.java
  5. 77
      ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpCtcMapper.java
  6. 77
      ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpUtbItemMapper.java
  7. 77
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpCtcService.java
  8. 73
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpUtbItemService.java
  9. 133
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpCtcServiceImpl.java
  10. 128
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpUtbItemServiceImpl.java
  11. 151
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/ErpCompanyCostController.java
  12. 113
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/ErpCompanyCost.java
  13. 77
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/mapper/ErpCompanyCostMapper.java
  14. 75
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/IErpCompanyCostService.java
  15. 126
      ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/impl/ErpCompanyCostServiceImpl.java
  16. 147
      ruoyi-admin/src/main/resources/mapper/erp/ErpCtcMapper.xml
  17. 118
      ruoyi-admin/src/main/resources/mapper/erp/ErpUtbItemMapper.xml
  18. 106
      ruoyi-admin/src/main/resources/mapper/taxInvoice/ErpCompanyCostMapper.xml
  19. 122
      ruoyi-admin/src/main/resources/templates/erp/ctc/add.html
  20. 200
      ruoyi-admin/src/main/resources/templates/erp/ctc/ctc.html
  21. 119
      ruoyi-admin/src/main/resources/templates/erp/ctc/edit.html
  22. 73
      ruoyi-admin/src/main/resources/templates/erp/utb/add.html
  23. 74
      ruoyi-admin/src/main/resources/templates/erp/utb/edit.html
  24. 169
      ruoyi-admin/src/main/resources/templates/erp/utb/utb.html
  25. 33
      ruoyi-admin/src/main/resources/templates/erp/utb/utbcoef.html
  26. 61
      ruoyi-admin/src/main/resources/templates/taxInvoice/companyCost/add.html
  27. 123
      ruoyi-admin/src/main/resources/templates/taxInvoice/companyCost/companyCost.html
  28. 62
      ruoyi-admin/src/main/resources/templates/taxInvoice/companyCost/edit.html

157
ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpCtcController.java

@ -0,0 +1,157 @@
package com.ruoyi.erp.controller;
import java.util.List;
import com.ruoyi.ck.utils.Result;
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.erp.domain.ErpCtc;
import com.ruoyi.erp.service.IErpCtcService;
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 zhang
* @date 2024-03-04
*/
@Controller
@RequestMapping("/erp/ctc")
public class ErpCtcController extends BaseController
{
private String prefix = "erp/ctc";
@Autowired
private IErpCtcService erpCtcService;
@RequiresPermissions("erp:ctc:view")
@GetMapping()
public String ctc()
{
return prefix + "/ctc";
}
/**
* 查询业务绩效表列表
*/
@RequiresPermissions("erp:ctc:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(ErpCtc erpCtc)
{
startPage();
List<ErpCtc> list = erpCtcService.selectErpCtcList(erpCtc);
return getDataTable(list);
}
/**
* 导出业务绩效表列表
*/
@RequiresPermissions("erp:ctc:export")
@Log(title = "业务绩效表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(ErpCtc erpCtc)
{
List<ErpCtc> list = erpCtcService.selectErpCtcList(erpCtc);
ExcelUtil<ErpCtc> util = new ExcelUtil<ErpCtc>(ErpCtc.class);
return util.exportExcel(list, "业务绩效表数据");
}
/**
* 新增业务绩效表
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存业务绩效表
*/
@RequiresPermissions("erp:ctc:add")
@Log(title = "业务绩效表", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(ErpCtc erpCtc)
{
return toAjax(erpCtcService.insertErpCtc(erpCtc));
}
/**
* 修改业务绩效表
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
ErpCtc erpCtc = erpCtcService.selectErpCtcById(id);
mmap.put("erpCtc", erpCtc);
return prefix + "/edit";
}
/**
* 修改保存业务绩效表
*/
@RequiresPermissions("erp:ctc:edit")
@Log(title = "业务绩效表", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(ErpCtc erpCtc)
{
return toAjax(erpCtcService.updateErpCtc(erpCtc));
}
/**
* 删除业务绩效表
*/
@RequiresPermissions("erp:ctc:remove")
@Log(title = "业务绩效表", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(erpCtcService.deleteErpCtcByIds(ids));
}
/**
* 作废业务绩效表
*/
@RequiresPermissions("erp:ctc:cancel")
@Log(title = "业务绩效表", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(erpCtcService.cancelErpCtcById(id));
}
/**
* 恢复业务绩效表
*/
@RequiresPermissions("erp:ctc:restore")
@Log(title = "业务绩效表", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
{
return toAjax(erpCtcService.restoreErpCtcById(id));
}
@PostMapping("/getId")
@ResponseBody
public Result getId() throws Exception {
return Result.getSuccessResult(erpCtcService.getId());
}
}

172
ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpUtbItemController.java

@ -0,0 +1,172 @@
package com.ruoyi.erp.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
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.erp.domain.ErpUtbItem;
import com.ruoyi.erp.service.IErpUtbItemService;
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 zhang
* @date 2024-03-05
*/
@Controller
@RequestMapping("/erp/utb")
public class ErpUtbItemController extends BaseController
{
private String prefix = "erp/utb";
@Autowired
private IErpUtbItemService erpUtbItemService;
@RequiresPermissions("erp:utb:view")
@GetMapping()
public String utb()
{
return prefix + "/utb";
}
/**
* 查询业务团队列表
*/
@RequiresPermissions("erp:utb:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(ErpUtbItem erpUtbItem)
{
startPage();
List<ErpUtbItem> list = erpUtbItemService.selectErpUtbItemList(erpUtbItem);
return getDataTable(list);
}
/**
* 导出业务团队列表
*/
@RequiresPermissions("erp:utb:export")
@Log(title = "业务团队", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(ErpUtbItem erpUtbItem)
{
List<ErpUtbItem> list = erpUtbItemService.selectErpUtbItemList(erpUtbItem);
ExcelUtil<ErpUtbItem> util = new ExcelUtil<ErpUtbItem>(ErpUtbItem.class);
return util.exportExcel(list, "业务团队数据");
}
/**
* 新增业务团队
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 业务绩效系数表单
* @return
*/
@GetMapping("/utbcoef")
public String utbcoef()
{
return prefix + "/utbcoef";
}
/**
* 新增保存业务团队
*/
@RequiresPermissions("erp:utb:add")
@Log(title = "业务团队", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(ErpUtbItem erpUtbItem)
{
return toAjax(erpUtbItemService.insertErpUtbItem(erpUtbItem));
}
/**
* 修改业务团队
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
ErpUtbItem erpUtbItem = erpUtbItemService.selectErpUtbItemById(id);
mmap.put("erpUtbItem", erpUtbItem);
return prefix + "/edit";
}
/**
* 修改保存业务团队
*/
@RequiresPermissions("erp:utb:edit")
@Log(title = "业务团队", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(ErpUtbItem erpUtbItem)
{
return toAjax(erpUtbItemService.updateErpUtbItem(erpUtbItem));
}
/**
* 删除业务团队
*/
@RequiresPermissions("erp:utb:remove")
@Log(title = "业务团队", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
List<String> list = Arrays.asList(ids.split(","));
int i = list.size();
List<Long> idlist = new ArrayList<Long>();
for (String s : list) {
idlist.add(Long.parseLong(s));
}
return toAjax(erpUtbItemService.deleteErpUtbItemByIds(ids));
}
/**
* 作废业务团队
*/
@RequiresPermissions("erp:utb:cancel")
@Log(title = "业务团队", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(erpUtbItemService.cancelErpUtbItemById(id));
}
/**
* 恢复业务团队
*/
@RequiresPermissions("erp:utb:restore")
@Log(title = "业务团队", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
{
return toAjax(erpUtbItemService.restoreErpUtbItemById(id));
}
}

254
ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpCtc.java

@ -0,0 +1,254 @@
package com.ruoyi.erp.domain;
import java.util.List;
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;
/**
* 业务绩效表对象 erp_ctc
*
* @author zhang
* @date 2024-03-04
*/
public class ErpCtc extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 绩效id */
private Long id;
/** 业务绩效id */
@Excel(name = "业务绩效id")
private Long ctcId;
/** 员工ID */
@Excel(name = "员工ID")
private Long staffNo;
/** 业务员 */
@Excel(name = "业务员")
private String saleStaff;
/** 部门信息(包含上级部门/下级部门/职位) */
@Excel(name = "部门信息(包含上级部门/下级部门/职位)")
private String deptPost;
/** 绩效类型(包含0: 个人绩效,1: 个人加团队绩效,2:业务服务绩效) */
@Excel(name = "绩效类型", readConverterExp = "包=含0:,个=人绩效,1:,个=人加团队绩效,2:业务服务绩效")
private Integer ctcType;
/** 使用状态 */
@Excel(name = "使用状态")
private Long useStatus;
/** 币别 */
@Excel(name = "币别")
private Integer currency;
/** 订单销售总价 */
@Excel(name = "订单销售总价")
private Long saleSum;
/** 待结案有绩效销售总价 */
@Excel(name = "待结案有绩效销售总价")
private Long saleDcaseSum;
/** 已结案有绩效销售总价 */
@Excel(name = "已结案有绩效销售总价")
private Long saleCaseSum;
/** 无绩效销售总价 */
@Excel(name = "无绩效销售总价")
private Long saleNcaseSum;
/** 待结算绩效 */
@Excel(name = "待结算绩效")
private Long nsettleNum;
/** 已结算绩效 */
@Excel(name = "已结算绩效")
private Long settleNum;
/** 待发放绩效 */
@Excel(name = "待发放绩效")
private Long ngrantNum;
/** 已发放绩效 */
@Excel(name = "已发放绩效")
private Long grantNum;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCtcId(Long ctcId)
{
this.ctcId = ctcId;
}
public Long getCtcId()
{
return ctcId;
}
public void setStaffNo(Long staffNo)
{
this.staffNo = staffNo;
}
public Long getStaffNo()
{
return staffNo;
}
public void setSaleStaff(String saleStaff)
{
this.saleStaff = saleStaff;
}
public String getSaleStaff()
{
return saleStaff;
}
public void setDeptPost(String deptPost)
{
this.deptPost = deptPost;
}
public String getDeptPost()
{
return deptPost;
}
public void setCtcType(Integer ctcType)
{
this.ctcType = ctcType;
}
public Integer getCtcType()
{
return ctcType;
}
public void setUseStatus(Long useStatus)
{
this.useStatus = useStatus;
}
public Long getUseStatus()
{
return useStatus;
}
public void setCurrency(Integer currency)
{
this.currency = currency;
}
public Integer getCurrency()
{
return currency;
}
public void setSaleSum(Long saleSum)
{
this.saleSum = saleSum;
}
public Long getSaleSum()
{
return saleSum;
}
public void setSaleDcaseSum(Long saleDcaseSum)
{
this.saleDcaseSum = saleDcaseSum;
}
public Long getSaleDcaseSum()
{
return saleDcaseSum;
}
public void setSaleCaseSum(Long saleCaseSum)
{
this.saleCaseSum = saleCaseSum;
}
public Long getSaleCaseSum()
{
return saleCaseSum;
}
public void setSaleNcaseSum(Long saleNcaseSum)
{
this.saleNcaseSum = saleNcaseSum;
}
public Long getSaleNcaseSum()
{
return saleNcaseSum;
}
public void setNsettleNum(Long nsettleNum)
{
this.nsettleNum = nsettleNum;
}
public Long getNsettleNum()
{
return nsettleNum;
}
public void setSettleNum(Long settleNum)
{
this.settleNum = settleNum;
}
public Long getSettleNum()
{
return settleNum;
}
public void setNgrantNum(Long ngrantNum)
{
this.ngrantNum = ngrantNum;
}
public Long getNgrantNum()
{
return ngrantNum;
}
public void setGrantNum(Long grantNum)
{
this.grantNum = grantNum;
}
public Long getGrantNum()
{
return grantNum;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("ctcId", getCtcId())
.append("staffNo", getStaffNo())
.append("saleStaff", getSaleStaff())
.append("deptPost", getDeptPost())
.append("ctcType", getCtcType())
.append("useStatus", getUseStatus())
.append("currency", getCurrency())
.append("saleSum", getSaleSum())
.append("saleDcaseSum", getSaleDcaseSum())
.append("saleCaseSum", getSaleCaseSum())
.append("saleNcaseSum", getSaleNcaseSum())
.append("nsettleNum", getNsettleNum())
.append("settleNum", getSettleNum())
.append("ngrantNum", getNgrantNum())
.append("grantNum", getGrantNum())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

140
ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpUtbItem.java

@ -0,0 +1,140 @@
package com.ruoyi.erp.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;
/**
* 业务团队对象 erp_utb_item
*
* @author zhang
* @date 2024-03-05
*/
public class ErpUtbItem extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
private Long id;
/** 业务团队ID */
@Excel(name = "业务团队ID")
private String utbId;
/** 团队名称 */
@Excel(name = "团队名称")
private String utbName;
/** 业务员1 */
@Excel(name = "业务员1")
private String salesman1;
/** 业务员2 */
@Excel(name = "业务员2")
private String salesman2;
/** 业务员3 */
@Excel(name = "业务员3")
private String salesman3;
/** 经理 */
@Excel(name = "经理")
private String manage;
/** 主管 */
@Excel(name = "主管")
private String manager;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setUtbId(String utbId)
{
this.utbId = utbId;
}
public String getUtbId()
{
return utbId;
}
public void setUtbName(String utbName)
{
this.utbName = utbName;
}
public String getUtbName()
{
return utbName;
}
public void setSalesman1(String salesman1)
{
this.salesman1 = salesman1;
}
public String getSalesman1()
{
return salesman1;
}
public void setSalesman2(String salesman2)
{
this.salesman2 = salesman2;
}
public String getSalesman2()
{
return salesman2;
}
public void setSalesman3(String salesman3)
{
this.salesman3 = salesman3;
}
public String getSalesman3()
{
return salesman3;
}
public void setManage(String manage)
{
this.manage = manage;
}
public String getManage()
{
return manage;
}
public void setManager(String manager)
{
this.manager = manager;
}
public String getManager()
{
return manager;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("utbId", getUtbId())
.append("utbName", getUtbName())
.append("salesman1", getSalesman1())
.append("salesman2", getSalesman2())
.append("salesman3", getSalesman3())
.append("manage", getManage())
.append("manager", getManager())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

77
ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpCtcMapper.java

@ -0,0 +1,77 @@
package com.ruoyi.erp.mapper;
import java.util.List;
import com.ruoyi.erp.domain.ErpCtc;
/**
* 业务绩效表Mapper接口
*
* @author zhang
* @date 2024-03-04
*/
public interface ErpCtcMapper
{
/**
* 查询业务绩效表
*
* @param id 业务绩效表ID
* @return 业务绩效表
*/
public ErpCtc selectErpCtcById(Long id);
/**
* 查询业务绩效表列表
*
* @param erpCtc 业务绩效表
* @return 业务绩效表集合
*/
public List<ErpCtc> selectErpCtcList(ErpCtc erpCtc);
/**
* 新增业务绩效表
*
* @param erpCtc 业务绩效表
* @return 结果
*/
public int insertErpCtc(ErpCtc erpCtc);
/**
* 修改业务绩效表
*
* @param erpCtc 业务绩效表
* @return 结果
*/
public int updateErpCtc(ErpCtc erpCtc);
/**
* 删除业务绩效表
*
* @param id 业务绩效表ID
* @return 结果
*/
public int deleteErpCtcById(Long id);
/**
* 批量删除业务绩效表
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteErpCtcByIds(String[] ids);
/**
* 作废业务绩效表
*
* @param id 业务绩效表ID
* @return 结果
*/
public int cancelErpCtcById(Long id);
/**
* 恢复业务绩效表
*
* @param id 业务绩效表ID
* @return 结果
*/
public int restoreErpCtcById(Long id);
}

77
ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpUtbItemMapper.java

@ -0,0 +1,77 @@
package com.ruoyi.erp.mapper;
import java.util.List;
import com.ruoyi.erp.domain.ErpUtbItem;
/**
* 业务团队Mapper接口
*
* @author zhang
* @date 2024-03-05
*/
public interface ErpUtbItemMapper
{
/**
* 查询业务团队
*
* @param id 业务团队ID
* @return 业务团队
*/
public ErpUtbItem selectErpUtbItemById(Long id);
/**
* 查询业务团队列表
*
* @param erpUtbItem 业务团队
* @return 业务团队集合
*/
public List<ErpUtbItem> selectErpUtbItemList(ErpUtbItem erpUtbItem);
/**
* 新增业务团队
*
* @param erpUtbItem 业务团队
* @return 结果
*/
public int insertErpUtbItem(ErpUtbItem erpUtbItem);
/**
* 修改业务团队
*
* @param erpUtbItem 业务团队
* @return 结果
*/
public int updateErpUtbItem(ErpUtbItem erpUtbItem);
/**
* 删除业务团队
*
* @param id 业务团队ID
* @return 结果
*/
public int deleteErpUtbItemById(Long id);
/**
* 批量删除业务团队
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteErpUtbItemByIds(String[] ids);
/**
* 作废业务团队
*
* @param id 业务团队ID
* @return 结果
*/
public int cancelErpUtbItemById(Long id);
/**
* 恢复业务团队
*
* @param id 业务团队ID
* @return 结果
*/
public int restoreErpUtbItemById(Long id);
}

77
ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpCtcService.java

@ -0,0 +1,77 @@
package com.ruoyi.erp.service;
import java.util.List;
import com.ruoyi.erp.domain.ErpCtc;
/**
* 业务绩效表Service接口
*
* @author zhang
* @date 2024-03-04
*/
public interface IErpCtcService
{
/**
* 查询业务绩效表
*
* @param id 业务绩效表ID
* @return 业务绩效表
*/
public ErpCtc selectErpCtcById(Long id);
/**
* 查询业务绩效表列表
*
* @param erpCtc 业务绩效表
* @return 业务绩效表集合
*/
public List<ErpCtc> selectErpCtcList(ErpCtc erpCtc);
/**
* 新增业务绩效表
*
* @param erpCtc 业务绩效表
* @return 结果
*/
public int insertErpCtc(ErpCtc erpCtc);
/**
* 修改业务绩效表
*
* @param erpCtc 业务绩效表
* @return 结果
*/
public int updateErpCtc(ErpCtc erpCtc);
/**
* 批量删除业务绩效表
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteErpCtcByIds(String ids);
/**
* 删除业务绩效表信息
*
* @param id 业务绩效表ID
* @return 结果
*/
public int deleteErpCtcById(Long id);
/**
* 作废业务绩效表
* @param id 业务绩效表ID
* @return
*/
int cancelErpCtcById(Long id);
/**
* 恢复业务绩效表
* @param id 业务绩效表ID
* @return
*/
int restoreErpCtcById(Long id);
Object getId();
}

73
ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpUtbItemService.java

@ -0,0 +1,73 @@
package com.ruoyi.erp.service;
import com.ruoyi.erp.domain.ErpUtbItem;
import java.util.List;
public interface IErpUtbItemService
{
/**
* 查询业务团队
*
* @param id 业务团队ID
* @return 业务团队
*/
public ErpUtbItem selectErpUtbItemById(Long id);
/**
* 查询业务团队列表
*
* @param erpUtbItem 业务团队
* @return 业务团队集合
*/
public List<ErpUtbItem> selectErpUtbItemList(ErpUtbItem erpUtbItem);
/**
* 新增业务团队
*
* @param erpUtbItem 业务团队
* @return 结果
*/
public int insertErpUtbItem(ErpUtbItem erpUtbItem);
/**
* 修改业务团队
*
* @param erpUtbItem 业务团队
* @return 结果
*/
public int updateErpUtbItem(ErpUtbItem erpUtbItem);
/**
* 批量删除业务团队
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteErpUtbItemByIds(String ids);
/**
* 删除业务团队
*
* @param id 业务团队ID
* @return 结果
*/
public int deleteErpUtbItemById(Long id);
/**
* 作废业务团队
*
* @param id 业务团队ID
* @return 结果
*/
public int cancelErpUtbItemById(Long id);
/**
* 恢复业务团队
*
* @param id 业务团队ID
* @return 结果
*/
public int restoreErpUtbItemById(Long id);
}

133
ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpCtcServiceImpl.java

@ -0,0 +1,133 @@
package com.ruoyi.erp.service.impl;
import java.text.SimpleDateFormat;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.erp.mapper.ErpCtcMapper;
import com.ruoyi.erp.domain.ErpCtc;
import com.ruoyi.erp.service.IErpCtcService;
import com.ruoyi.common.core.text.Convert;
/**
* 业务绩效表Service业务层处理
*
* @author zhang
* @date 2024-03-04
*/
@Service
public class ErpCtcServiceImpl implements IErpCtcService
{
@Autowired
private ErpCtcMapper erpCtcMapper;
/**
* 查询业务绩效表
*
* @param id 业务绩效表ID
* @return 业务绩效表
*/
@Override
public ErpCtc selectErpCtcById(Long id)
{
return erpCtcMapper.selectErpCtcById(id);
}
/**
* 查询业务绩效表列表
*
* @param erpCtc 业务绩效表
* @return 业务绩效表
*/
@Override
public List<ErpCtc> selectErpCtcList(ErpCtc erpCtc)
{
return erpCtcMapper.selectErpCtcList(erpCtc);
}
/**
* 新增业务绩效表
*
* @param erpCtc 业务绩效表
* @return 结果
*/
@Override
public int insertErpCtc(ErpCtc erpCtc)
{
String loginName = ShiroUtils.getLoginName();
erpCtc.setCreateBy(loginName);
erpCtc.setCreateTime(DateUtils.getNowDate());
return erpCtcMapper.insertErpCtc(erpCtc);
}
/**
* 修改业务绩效表
*
* @param erpCtc 业务绩效表
* @return 结果
*/
@Override
public int updateErpCtc(ErpCtc erpCtc)
{
String loginName = ShiroUtils.getLoginName();
erpCtc.setUpdateBy(loginName);
erpCtc.setUpdateTime(DateUtils.getNowDate());
return erpCtcMapper.updateErpCtc(erpCtc);
}
/**
* 删除业务绩效表对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteErpCtcByIds(String ids)
{
return erpCtcMapper.deleteErpCtcByIds(Convert.toStrArray(ids));
}
/**
* 删除业务绩效表信息
*
* @param id 业务绩效表ID
* @return 结果
*/
@Override
public int deleteErpCtcById(Long id)
{
return erpCtcMapper.deleteErpCtcById(id);
}
/**
* 作废业务绩效表
*
* @param id 业务绩效表ID
* @return 结果
*/
@Override
public int cancelErpCtcById(Long id)
{
return erpCtcMapper.cancelErpCtcById(id);
}
/**
* 恢复业务绩效表信息
*
* @param id 业务绩效表ID
* @return 结果
*/
@Override
public int restoreErpCtcById(Long id)
{
return erpCtcMapper.restoreErpCtcById(id);
}
@Override
public String getId() {
String time = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(System.currentTimeMillis());
return "YWJ" + time.substring(2);
}
}

128
ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpUtbItemServiceImpl.java

@ -0,0 +1,128 @@
package com.ruoyi.erp.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.erp.mapper.ErpUtbItemMapper;
import com.ruoyi.erp.domain.ErpUtbItem;
import com.ruoyi.erp.service.IErpUtbItemService;
import com.ruoyi.common.core.text.Convert;
/**
* 业务团队Service业务层处理
*
* @author zhang
* @date 2024-03-05
*/
@Service
public class ErpUtbItemServiceImpl implements IErpUtbItemService
{
@Autowired
private ErpUtbItemMapper erpUtbItemMapper;
/**
* 查询业务团队
*
* @param id 业务团队ID
* @return 业务团队
*/
@Override
public ErpUtbItem selectErpUtbItemById(Long id)
{
return erpUtbItemMapper.selectErpUtbItemById(id);
}
/**
* 查询业务团队列表
*
* @param erpUtbItem 业务团队
* @return 业务团队
*/
@Override
public List<ErpUtbItem> selectErpUtbItemList(ErpUtbItem erpUtbItem)
{
return erpUtbItemMapper.selectErpUtbItemList(erpUtbItem);
}
/**
* 新增业务团队
*
* @param erpUtbItem 业务团队
* @return 结果
*/
@Override
public int insertErpUtbItem(ErpUtbItem erpUtbItem)
{
String loginName = ShiroUtils.getLoginName();
erpUtbItem.setCreateBy(loginName);
erpUtbItem.setCreateTime(DateUtils.getNowDate());
return erpUtbItemMapper.insertErpUtbItem(erpUtbItem);
}
/**
* 修改业务团队
*
* @param erpUtbItem 业务团队
* @return 结果
*/
@Override
public int updateErpUtbItem(ErpUtbItem erpUtbItem)
{
String loginName = ShiroUtils.getLoginName();
erpUtbItem.setUpdateBy(loginName);
erpUtbItem.setUpdateTime(DateUtils.getNowDate());
return erpUtbItemMapper.updateErpUtbItem(erpUtbItem);
}
/**
* 删除业务团队对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteErpUtbItemByIds(String ids)
{
return erpUtbItemMapper.deleteErpUtbItemByIds(Convert.toStrArray(ids));
}
/**
* 删除业务团队信息
*
* @param id 业务团队ID
* @return 结果
*/
@Override
public int deleteErpUtbItemById(Long id)
{
return erpUtbItemMapper.deleteErpUtbItemById(id);
}
/**
* 作废业务团队
*
* @param id 业务团队ID
* @return 结果
*/
@Override
public int cancelErpUtbItemById(Long id)
{
return erpUtbItemMapper.cancelErpUtbItemById(id);
}
/**
* 恢复业务团队信息
*
* @param id 业务团队ID
* @return 结果
*/
@Override
public int restoreErpUtbItemById(Long id)
{
return erpUtbItemMapper.restoreErpUtbItemById(id);
}
}

151
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/controller/ErpCompanyCostController.java

@ -0,0 +1,151 @@
package com.ruoyi.taxInvoice.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.taxInvoice.domain.ErpCompanyCost;
import com.ruoyi.taxInvoice.service.IErpCompanyCostService;
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 zhang
* @date 2024-03-05
*/
@Controller
@RequestMapping("/taxInvoice/companyCost")
public class ErpCompanyCostController extends BaseController
{
private String prefix = "taxInvoice/companyCost";
@Autowired
private IErpCompanyCostService erpCompanyCostService;
@RequiresPermissions("taxInvoice:companyCost:view")
@GetMapping()
public String companyCost()
{
return prefix + "/companyCost";
}
/**
* 查询公司成本列表
*/
@RequiresPermissions("taxInvoice:companyCost:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(ErpCompanyCost erpCompanyCost)
{
startPage();
List<ErpCompanyCost> list = erpCompanyCostService.selectErpCompanyCostList(erpCompanyCost);
return getDataTable(list);
}
/**
* 导出公司成本列表
*/
@RequiresPermissions("taxInvoice:companyCost:export")
@Log(title = "公司成本", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(ErpCompanyCost erpCompanyCost)
{
List<ErpCompanyCost> list = erpCompanyCostService.selectErpCompanyCostList(erpCompanyCost);
ExcelUtil<ErpCompanyCost> util = new ExcelUtil<ErpCompanyCost>(ErpCompanyCost.class);
return util.exportExcel(list, "公司成本数据");
}
/**
* 新增公司成本
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存公司成本
*/
@RequiresPermissions("taxInvoice:companyCost:add")
@Log(title = "公司成本", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(ErpCompanyCost erpCompanyCost)
{
return toAjax(erpCompanyCostService.insertErpCompanyCost(erpCompanyCost));
}
/**
* 修改公司成本
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
ErpCompanyCost erpCompanyCost = erpCompanyCostService.selectErpCompanyCostById(id);
mmap.put("erpCompanyCost", erpCompanyCost);
return prefix + "/edit";
}
/**
* 修改保存公司成本
*/
@RequiresPermissions("taxInvoice:companyCost:edit")
@Log(title = "公司成本", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(ErpCompanyCost erpCompanyCost)
{
return toAjax(erpCompanyCostService.updateErpCompanyCost(erpCompanyCost));
}
/**
* 删除公司成本
*/
@RequiresPermissions("taxInvoice:companyCost:remove")
@Log(title = "公司成本", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(erpCompanyCostService.deleteErpCompanyCostByIds(ids));
}
/**
* 作废公司成本
*/
@RequiresPermissions("taxInvoice:companyCost:cancel")
@Log(title = "公司成本", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(erpCompanyCostService.cancelErpCompanyCostById(id));
}
/**
* 恢复公司成本
*/
@RequiresPermissions("taxInvoice:companyCost:restore")
@Log(title = "公司成本", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
{
return toAjax(erpCompanyCostService.restoreErpCompanyCostById(id));
}
}

113
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/domain/ErpCompanyCost.java

@ -0,0 +1,113 @@
package com.ruoyi.taxInvoice.domain;
import java.math.BigDecimal;
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;
/**
* 公司成本对象 erp_company_cost
*
* @author zhang
* @date 2024-03-05
*/
public class ErpCompanyCost extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 索引 */
private Long id;
/** 公司成本ID */
@Excel(name = "公司成本ID")
private String ctcId;
/** 年份 */
@Excel(name = "年份")
private Integer year;
/** 月份 */
@Excel(name = "月份")
private Integer month;
/** 经营成本 */
@Excel(name = "经营成本")
private BigDecimal opex;
/** 业务成本 */
@Excel(name = "业务成本")
private BigDecimal cob;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCtcId(String ctcId)
{
this.ctcId = ctcId;
}
public String getCtcId()
{
return ctcId;
}
public void setYear(Integer year)
{
this.year = year;
}
public Integer getYear()
{
return year;
}
public void setMonth(Integer month)
{
this.month = month;
}
public Integer getMonth()
{
return month;
}
public void setOpex(BigDecimal opex)
{
this.opex = opex;
}
public BigDecimal getOpex()
{
return opex;
}
public void setCob(BigDecimal cob)
{
this.cob = cob;
}
public BigDecimal getCob()
{
return cob;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("ctcId", getCtcId())
.append("year", getYear())
.append("month", getMonth())
.append("opex", getOpex())
.append("cob", getCob())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("updateBy", getUpdateBy())
.append("remark", getRemark())
.toString();
}
}

77
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/mapper/ErpCompanyCostMapper.java

@ -0,0 +1,77 @@
package com.ruoyi.taxInvoice.mapper;
import java.util.List;
import com.ruoyi.taxInvoice.domain.ErpCompanyCost;
/**
* 公司成本Mapper接口
*
* @author zhang
* @date 2024-03-05
*/
public interface ErpCompanyCostMapper
{
/**
* 查询公司成本
*
* @param id 公司成本ID
* @return 公司成本
*/
public ErpCompanyCost selectErpCompanyCostById(Long id);
/**
* 查询公司成本列表
*
* @param erpCompanyCost 公司成本
* @return 公司成本集合
*/
public List<ErpCompanyCost> selectErpCompanyCostList(ErpCompanyCost erpCompanyCost);
/**
* 新增公司成本
*
* @param erpCompanyCost 公司成本
* @return 结果
*/
public int insertErpCompanyCost(ErpCompanyCost erpCompanyCost);
/**
* 修改公司成本
*
* @param erpCompanyCost 公司成本
* @return 结果
*/
public int updateErpCompanyCost(ErpCompanyCost erpCompanyCost);
/**
* 删除公司成本
*
* @param id 公司成本ID
* @return 结果
*/
public int deleteErpCompanyCostById(Long id);
/**
* 批量删除公司成本
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteErpCompanyCostByIds(String[] ids);
/**
* 作废公司成本
*
* @param id 公司成本ID
* @return 结果
*/
public int cancelErpCompanyCostById(Long id);
/**
* 恢复公司成本
*
* @param id 公司成本ID
* @return 结果
*/
public int restoreErpCompanyCostById(Long id);
}

75
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/IErpCompanyCostService.java

@ -0,0 +1,75 @@
package com.ruoyi.taxInvoice.service;
import java.util.List;
import com.ruoyi.taxInvoice.domain.ErpCompanyCost;
/**
* 公司成本Service接口
*
* @author zhang
* @date 2024-03-05
*/
public interface IErpCompanyCostService
{
/**
* 查询公司成本
*
* @param id 公司成本ID
* @return 公司成本
*/
public ErpCompanyCost selectErpCompanyCostById(Long id);
/**
* 查询公司成本列表
*
* @param erpCompanyCost 公司成本
* @return 公司成本集合
*/
public List<ErpCompanyCost> selectErpCompanyCostList(ErpCompanyCost erpCompanyCost);
/**
* 新增公司成本
*
* @param erpCompanyCost 公司成本
* @return 结果
*/
public int insertErpCompanyCost(ErpCompanyCost erpCompanyCost);
/**
* 修改公司成本
*
* @param erpCompanyCost 公司成本
* @return 结果
*/
public int updateErpCompanyCost(ErpCompanyCost erpCompanyCost);
/**
* 批量删除公司成本
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteErpCompanyCostByIds(String ids);
/**
* 删除公司成本信息
*
* @param id 公司成本ID
* @return 结果
*/
public int deleteErpCompanyCostById(Long id);
/**
* 作废公司成本
* @param id 公司成本ID
* @return
*/
int cancelErpCompanyCostById(Long id);
/**
* 恢复公司成本
* @param id 公司成本ID
* @return
*/
int restoreErpCompanyCostById(Long id);
}

126
ruoyi-admin/src/main/java/com/ruoyi/taxInvoice/service/impl/ErpCompanyCostServiceImpl.java

@ -0,0 +1,126 @@
package com.ruoyi.taxInvoice.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.taxInvoice.mapper.ErpCompanyCostMapper;
import com.ruoyi.taxInvoice.domain.ErpCompanyCost;
import com.ruoyi.taxInvoice.service.IErpCompanyCostService;
import com.ruoyi.common.core.text.Convert;
/**
* 公司成本Service业务层处理
*
* @author zhang
* @date 2024-03-05
*/
@Service
public class ErpCompanyCostServiceImpl implements IErpCompanyCostService
{
@Autowired
private ErpCompanyCostMapper erpCompanyCostMapper;
/**
* 查询公司成本
*
* @param id 公司成本ID
* @return 公司成本
*/
@Override
public ErpCompanyCost selectErpCompanyCostById(Long id)
{
return erpCompanyCostMapper.selectErpCompanyCostById(id);
}
/**
* 查询公司成本列表
*
* @param erpCompanyCost 公司成本
* @return 公司成本
*/
@Override
public List<ErpCompanyCost> selectErpCompanyCostList(ErpCompanyCost erpCompanyCost)
{
return erpCompanyCostMapper.selectErpCompanyCostList(erpCompanyCost);
}
/**
* 新增公司成本
*
* @param erpCompanyCost 公司成本
* @return 结果
*/
@Override
public int insertErpCompanyCost(ErpCompanyCost erpCompanyCost)
{
String loginName = ShiroUtils.getLoginName();
erpCompanyCost.setCreateBy(loginName);
erpCompanyCost.setCreateTime(DateUtils.getNowDate());
return erpCompanyCostMapper.insertErpCompanyCost(erpCompanyCost);
}
/**
* 修改公司成本
*
* @param erpCompanyCost 公司成本
* @return 结果
*/
@Override
public int updateErpCompanyCost(ErpCompanyCost erpCompanyCost)
{
erpCompanyCost.setUpdateTime(DateUtils.getNowDate());
String loginName = ShiroUtils.getLoginName();
erpCompanyCost.setUpdateBy(loginName);
return erpCompanyCostMapper.updateErpCompanyCost(erpCompanyCost);
}
/**
* 删除公司成本对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteErpCompanyCostByIds(String ids)
{
return erpCompanyCostMapper.deleteErpCompanyCostByIds(Convert.toStrArray(ids));
}
/**
* 删除公司成本信息
*
* @param id 公司成本ID
* @return 结果
*/
@Override
public int deleteErpCompanyCostById(Long id)
{
return erpCompanyCostMapper.deleteErpCompanyCostById(id);
}
/**
* 作废公司成本
*
* @param id 公司成本ID
* @return 结果
*/
@Override
public int cancelErpCompanyCostById(Long id)
{
return erpCompanyCostMapper.cancelErpCompanyCostById(id);
}
/**
* 恢复公司成本信息
*
* @param id 公司成本ID
* @return 结果
*/
@Override
public int restoreErpCompanyCostById(Long id)
{
return erpCompanyCostMapper.restoreErpCompanyCostById(id);
}
}

147
ruoyi-admin/src/main/resources/mapper/erp/ErpCtcMapper.xml

@ -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.erp.mapper.ErpCtcMapper">
<resultMap type="ErpCtc" id="ErpCtcResult">
<result property="id" column="id" />
<result property="ctcId" column="ctc_id" />
<result property="staffNo" column="staff_no" />
<result property="saleStaff" column="sale_staff" />
<result property="deptPost" column="dept_post" />
<result property="ctcType" column="ctc_type" />
<result property="useStatus" column="use_status" />
<result property="currency" column="currency" />
<result property="saleSum" column="sale_sum" />
<result property="saleDcaseSum" column="sale_dcase_sum" />
<result property="saleCaseSum" column="sale_case_sum" />
<result property="saleNcaseSum" column="sale_ncase_sum" />
<result property="nsettleNum" column="nsettle_num" />
<result property="settleNum" column="settle_num" />
<result property="ngrantNum" column="ngrant_num" />
<result property="grantNum" column="grant_num" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectErpCtcVo">
select id, ctc_id, staff_no, sale_staff, dept_post, ctc_type, use_status, currency, sale_sum, sale_dcase_sum, sale_case_sum, sale_ncase_sum, nsettle_num, settle_num, ngrant_num, grant_num, create_by, create_time, update_by, update_time, remark from erp_ctc
</sql>
<select id="selectErpCtcList" parameterType="ErpCtc" resultMap="ErpCtcResult">
<include refid="selectErpCtcVo"/>
<where>
<if test="ctcId != null "> and ctc_id like concat('%', #{ctcId}, '%')</if>
<if test="staffNo != null "> and staff_no like concat('%', #{staffNo}, '%')</if>
<if test="saleStaff != null and saleStaff != ''"> and sale_staff like concat('%', #{saleStaff}, '%')</if>
<if test="useStatus != null "> and use_status = #{useStatus}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</select>
<select id="selectErpCtcById" parameterType="Long" resultMap="ErpCtcResult">
<include refid="selectErpCtcVo"/>
where id = #{id}
</select>
<insert id="insertErpCtc" parameterType="ErpCtc">
insert into erp_ctc
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="ctcId != null">ctc_id,</if>
<if test="staffNo != null">staff_no,</if>
<if test="saleStaff != null">sale_staff,</if>
<if test="deptPost != null">dept_post,</if>
<if test="ctcType != null">ctc_type,</if>
<if test="useStatus != null">use_status,</if>
<if test="currency != null">currency,</if>
<if test="saleSum != null">sale_sum,</if>
<if test="saleDcaseSum != null">sale_dcase_sum,</if>
<if test="saleCaseSum != null">sale_case_sum,</if>
<if test="saleNcaseSum != null">sale_ncase_sum,</if>
<if test="nsettleNum != null">nsettle_num,</if>
<if test="settleNum != null">settle_num,</if>
<if test="ngrantNum != null">ngrant_num,</if>
<if test="grantNum != null">grant_num,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="ctcId != null">#{ctcId},</if>
<if test="staffNo != null">#{staffNo},</if>
<if test="saleStaff != null">#{saleStaff},</if>
<if test="deptPost != null">#{deptPost},</if>
<if test="ctcType != null">#{ctcType},</if>
<if test="useStatus != null">#{useStatus},</if>
<if test="currency != null">#{currency},</if>
<if test="saleSum != null">#{saleSum},</if>
<if test="saleDcaseSum != null">#{saleDcaseSum},</if>
<if test="saleCaseSum != null">#{saleCaseSum},</if>
<if test="saleNcaseSum != null">#{saleNcaseSum},</if>
<if test="nsettleNum != null">#{nsettleNum},</if>
<if test="settleNum != null">#{settleNum},</if>
<if test="ngrantNum != null">#{ngrantNum},</if>
<if test="grantNum != null">#{grantNum},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateErpCtc" parameterType="ErpCtc">
update erp_ctc
<trim prefix="SET" suffixOverrides=",">
<if test="ctcId != null">ctc_id = #{ctcId},</if>
<if test="staffNo != null">staff_no = #{staffNo},</if>
<if test="saleStaff != null">sale_staff = #{saleStaff},</if>
<if test="deptPost != null">dept_post = #{deptPost},</if>
<if test="ctcType != null">ctc_type = #{ctcType},</if>
<if test="useStatus != null">use_status = #{useStatus},</if>
<if test="currency != null">currency = #{currency},</if>
<if test="saleSum != null">sale_sum = #{saleSum},</if>
<if test="saleDcaseSum != null">sale_dcase_sum = #{saleDcaseSum},</if>
<if test="saleCaseSum != null">sale_case_sum = #{saleCaseSum},</if>
<if test="saleNcaseSum != null">sale_ncase_sum = #{saleNcaseSum},</if>
<if test="nsettleNum != null">nsettle_num = #{nsettleNum},</if>
<if test="settleNum != null">settle_num = #{settleNum},</if>
<if test="ngrantNum != null">ngrant_num = #{ngrantNum},</if>
<if test="grantNum != null">grant_num = #{grantNum},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteErpCtcById" parameterType="Long">
delete from erp_ctc where id = #{id}
</delete>
<delete id="deleteErpCtcByIds" parameterType="String">
delete from erp_ctc where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<update id="cancelErpCtcById" parameterType="Long">
update erp_ctc set del_flag = '1' where id = #{id}
</update>
<update id="restoreErpCtcById" parameterType="Long">
update erp_ctc set del_flag = '0' where id = #{id}
</update>
</mapper>

118
ruoyi-admin/src/main/resources/mapper/erp/ErpUtbItemMapper.xml

@ -0,0 +1,118 @@
<?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.erp.mapper.ErpUtbItemMapper">
<resultMap type="ErpUtbItem" id="ErpUtbItemResult">
<result property="id" column="id" />
<result property="utbId" column="utbId" />
<result property="utbName" column="utbName" />
<result property="salesman1" column="salesman1" />
<result property="salesman2" column="salesman2" />
<result property="salesman3" column="salesman3" />
<result property="manage" column="manage" />
<result property="manager" column="manager" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectErpUtbItemVo">
select id, utbId, utbName, salesman1, salesman2, salesman3, manage, manager, remark, create_by, create_time, update_by, update_time from erp_utb_item
</sql>
<select id="selectErpUtbItemList" parameterType="ErpUtbItem" resultMap="ErpUtbItemResult">
<include refid="selectErpUtbItemVo"/>
<where>
<if test="utbId != null and utbId != ''"> and utbId = #{utbId}</if>
<if test="utbName != null and utbName != ''"> and utbName like concat('%', #{utbName}, '%')</if>
<if test="salesman1 != null and salesman1 != ''"> and salesman1 = #{salesman1}</if>
<if test="salesman2 != null and salesman2 != ''"> and salesman2 = #{salesman2}</if>
<if test="salesman3 != null and salesman3 != ''"> and salesman3 = #{salesman3}</if>
<if test="manage != null and manage != ''"> and manage = #{manage}</if>
<if test="manager != null and manager != ''"> and manager = #{manager}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</select>
<select id="selectErpUtbItemById" parameterType="Long" resultMap="ErpUtbItemResult">
<include refid="selectErpUtbItemVo"/>
where id = #{id}
</select>
<insert id="insertErpUtbItem" parameterType="ErpUtbItem">
insert into erp_utb_item
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="utbId != null">utbId,</if>
<if test="utbName != null">utbName,</if>
<if test="salesman1 != null">salesman1,</if>
<if test="salesman2 != null">salesman2,</if>
<if test="salesman3 != null">salesman3,</if>
<if test="manage != null">manage,</if>
<if test="manager != null">manager,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="utbId != null">#{utbId},</if>
<if test="utbName != null">#{utbName},</if>
<if test="salesman1 != null">#{salesman1},</if>
<if test="salesman2 != null">#{salesman2},</if>
<if test="salesman3 != null">#{salesman3},</if>
<if test="manage != null">#{manage},</if>
<if test="manager != null">#{manager},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateErpUtbItem" parameterType="ErpUtbItem">
update erp_utb_item
<trim prefix="SET" suffixOverrides=",">
<if test="utbId != null">utbId = #{utbId},</if>
<if test="utbName != null">utbName = #{utbName},</if>
<if test="salesman1 != null">salesman1 = #{salesman1},</if>
<if test="salesman2 != null">salesman2 = #{salesman2},</if>
<if test="salesman3 != null">salesman3 = #{salesman3},</if>
<if test="manage != null">manage = #{manage},</if>
<if test="manager != null">manager = #{manager},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteErpUtbItemById" parameterType="Long">
delete from erp_utb_item where id = #{id}
</delete>
<delete id="deleteErpUtbItemByIds" parameterType="String">
delete from erp_utb_item where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<update id="cancelErpUtbItemById" parameterType="Long">
update erp_utb_item set del_flag = '1' where id = #{id}
</update>
<update id="restoreErpUtbItemById" parameterType="Long">
update erp_utb_item set del_flag = '0' where id = #{id}
</update>
</mapper>

106
ruoyi-admin/src/main/resources/mapper/taxInvoice/ErpCompanyCostMapper.xml

@ -0,0 +1,106 @@
<?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.taxInvoice.mapper.ErpCompanyCostMapper">
<resultMap type="ErpCompanyCost" id="ErpCompanyCostResult">
<result property="id" column="id" />
<result property="ctcId" column="ctc_id" />
<result property="year" column="year" />
<result property="month" column="month" />
<result property="opex" column="opex" />
<result property="cob" column="cob" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectErpCompanyCostVo">
select id, ctc_id, year, month, opex, cob, create_by, create_time, update_time, update_by, remark from erp_company_cost
</sql>
<select id="selectErpCompanyCostList" parameterType="ErpCompanyCost" resultMap="ErpCompanyCostResult">
<include refid="selectErpCompanyCostVo"/>
<where>
<if test="ctcId != null and ctcId != ''"> and ctc_id = #{ctcId}</if>
<if test="year != null "> and year = #{year}</if>
<if test="month != null "> and month = #{month}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</select>
<select id="selectErpCompanyCostById" parameterType="Long" resultMap="ErpCompanyCostResult">
<include refid="selectErpCompanyCostVo"/>
where id = #{id}
</select>
<insert id="insertErpCompanyCost" parameterType="ErpCompanyCost">
insert into erp_company_cost
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="ctcId != null">ctc_id,</if>
<if test="year != null">year,</if>
<if test="month != null">month,</if>
<if test="opex != null">opex,</if>
<if test="cob != null">cob,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="ctcId != null">#{ctcId},</if>
<if test="year != null">#{year},</if>
<if test="month != null">#{month},</if>
<if test="opex != null">#{opex},</if>
<if test="cob != null">#{cob},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateErpCompanyCost" parameterType="ErpCompanyCost">
update erp_company_cost
<trim prefix="SET" suffixOverrides=",">
<if test="ctcId != null">ctc_id = #{ctcId},</if>
<if test="year != null">year = #{year},</if>
<if test="month != null">month = #{month},</if>
<if test="opex != null">opex = #{opex},</if>
<if test="cob != null">cob = #{cob},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteErpCompanyCostById" parameterType="Long">
delete from erp_company_cost where id = #{id}
</delete>
<delete id="deleteErpCompanyCostByIds" parameterType="String">
delete from erp_company_cost where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<update id="cancelErpCompanyCostById" parameterType="Long">
update erp_company_cost set del_flag = '1' where id = #{id}
</update>
<update id="restoreErpCompanyCostById" parameterType="Long">
update erp_company_cost set del_flag = '0' where id = #{id}
</update>
</mapper>

122
ruoyi-admin/src/main/resources/templates/erp/ctc/add.html

@ -0,0 +1,122 @@
<!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-ctc-add">
<div class="form-group">
<label class="col-sm-3 control-label">业务绩效id:</label>
<div class="col-sm-8">
<input name="ctcId" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">员工ID:</label>
<div class="col-sm-8">
<input name="staffNo" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务员:</label>
<div class="col-sm-8">
<select name="saleStaff" class="form-control" type="text">
<option value="">所有</option>
</select>
<input name="saleStaff" 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="deptPost" 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="ctcType" class="form-control m-b" th:with="type=${@dict.getType('sys_erp_ctcType')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币别:</label>
<div class="col-sm-8">
<select name="currency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单销售总价:</label>
<div class="col-sm-8">
<input name="saleSum" 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="saleDcaseSum" 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="saleCaseSum" 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="saleNcaseSum" 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="nsettleNum" 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="settleNum" 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="ngrantNum" 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="grantNum" 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="remark" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "erp/ctc"
$("#form-ctc-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-ctc-add').serialize());
}
}
</script>
</body>
</html>

200
ruoyi-admin/src/main/resources/templates/erp/ctc/ctc.html

@ -0,0 +1,200 @@
<!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('业务绩效表列表')" />
<th:block th:include="include :: select2-css" />
</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>业务绩效id:</label>
<input type="text" name="ctcId"/>
</li>
<li>
<label>员工ID:</label>
<input type="text" name="staffNo"/>
</li>
<li>
<label>业务员:</label>
<input type="text" name="saleStaff"/>
</li>
<li>
<label>是否有未发放绩效:</label>
<select name="useStatus">
<option value="">所有</option>
</select>
</li>
<li class="select-time">
<label>录入时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</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="erp:ctc:add">
<i class="fa fa-plus"></i> 添加
</a>
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="erp:ctc:edit">
<i class="fa fa-edit"></i> 编辑
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="erp:ctc:remove">
<i class="fa fa-remove"></i> 删除
</a>-->
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="erp:ctc: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" />
<th:block th:include="include :: select2-js" />
<script th:src="@{/js/activiti.js}"></script>
<!-- <script th:src="@{/ajax/libs/vue/vue.js}"></script>-->
<!-- <script th:src="@{/ajax/libs/element-ui/element-ui.js}"></script>-->
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('erp:ctc:edit')}]];
var removeFlag = [[${@permission.hasPermi('erp:ctc:remove')}]];
var cancelFlag = [[${@permission.hasPermi('erp:ctc:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('erp:ctc:restore')}]];
var ctcTypeDatas = [[${@dict.getType('sys_erp_ctcType')}]];
var currencyDatas = [[${@dict.getType('sys_common_currency')}]];
var userName = [[${@permission.getPrincipalProperty('userName')}]];
var prefix = ctx + "erp/ctc";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
modalName: "业务绩效表",
fixedColumns: true, // 启用冻结列
fixedRightNumber: 1, // 冻结右列个数
columns: [{
checkbox: true
},
{
field: 'id',
title: '绩效id',
visible: false
},
{
field: 'ctcId',
title: '业务绩效id'
},
{
field: 'staffNo',
title: '员工ID'
},
{
field: 'saleStaff',
title: '业务员'
},
{
field: 'deptPost',
title: '部门信息'
},
{
field: 'ctcType',
title: '绩效类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(ctcTypeDatas, value);
}
},
{
field: 'useStatus',
title: '使用状态',
visible: false
},
{
field: 'currency',
title: '币别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(currencyDatas, value);
}
},
{
field: 'saleSum',
title: '订单销售总价'
},
{
field: 'saleDcaseSum',
title: '待结案有绩效销售总价'
},
{
field: 'saleCaseSum',
title: '已结案有绩效销售总价'
},
{
field: 'saleNcaseSum',
title: '无绩效销售总价'
},
{
field: 'nsettleNum',
title: '待结算绩效'
},
{
field: 'settleNum',
title: '已结算绩效'
},
{
field: 'ngrantNum',
title: '待发放绩效'
},
{
field: 'grantNum',
title: '已发放绩效'
},
{
field: 'createTime',
title: '录入时间'
},
{
field: 'updateTime',
title: '上次录入时间'
},
{
field: 'remark',
title: '备注',
visible: false
},
{
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> ');
if(row.delFlag == '0'){
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i>作废</a> ');
}else{
actions.push('<a class="btn btn-success btn-xs ' + restoreFlag + '" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i>恢复</a> ');
}
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

119
ruoyi-admin/src/main/resources/templates/erp/ctc/edit.html

@ -0,0 +1,119 @@
<!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-ctc-edit" th:object="${erpCtc}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">业务绩效id:</label>
<div class="col-sm-8">
<input name="ctcId" th:field="*{ctcId}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">员工ID:</label>
<div class="col-sm-8">
<input name="staffNo" th:field="*{staffNo}" 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="saleStaff" th:field="*{saleStaff}" 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="deptPost" th:field="*{deptPost}" 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="ctcType" class="form-control m-b" th:with="type=${@dict.getType('sys_erp_ctcType')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币别:</label>
<div class="col-sm-8">
<select name="currency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单销售总价:</label>
<div class="col-sm-8">
<input name="saleSum" th:field="*{saleSum}" 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="saleDcaseSum" th:field="*{saleDcaseSum}" 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="saleCaseSum" th:field="*{saleCaseSum}" 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="saleNcaseSum" th:field="*{saleNcaseSum}" 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="nsettleNum" th:field="*{nsettleNum}" 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="settleNum" th:field="*{settleNum}" 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="ngrantNum" th:field="*{ngrantNum}" 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="grantNum" th:field="*{grantNum}" 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="remark" th:field="*{remark}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "erp/ctc";
$("#form-ctc-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-ctc-edit').serialize());
}
}
</script>
</body>
</html>

73
ruoyi-admin/src/main/resources/templates/erp/utb/add.html

@ -0,0 +1,73 @@
<!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-utb-add">
<div class="form-group">
<label class="col-sm-3 control-label">业务团队ID:</label>
<div class="col-sm-8">
<input name="utbId" 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="utbName" 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="remark" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务员1:</label>
<div class="col-sm-8">
<input name="salesman1" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务员2:</label>
<div class="col-sm-8">
<input name="salesman2" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务员3:</label>
<div class="col-sm-8">
<input name="salesman3" 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="manager" 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="manage" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "erp/utb"
$("#form-utb-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-utb-add').serialize());
}
}
</script>
</body>
</html>

74
ruoyi-admin/src/main/resources/templates/erp/utb/edit.html

@ -0,0 +1,74 @@
<!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-utb-edit" th:object="${erpUtbItem}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">业务团队ID:</label>
<div class="col-sm-8">
<input name="utbId" th:field="*{utbId}" 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="utbName" th:field="*{utbName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务员1:</label>
<div class="col-sm-8">
<input name="salesman1" th:field="*{salesman1}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务员2:</label>
<div class="col-sm-8">
<input name="salesman2" th:field="*{salesman2}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">业务员3:</label>
<div class="col-sm-8">
<input name="salesman3" th:field="*{salesman3}" 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="manage" th:field="*{manage}" 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="manager" th:field="*{manager}" 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="remark" th:field="*{remark}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "erp/utb";
$("#form-utb-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-utb-edit').serialize());
}
}
</script>
</body>
</html>

169
ruoyi-admin/src/main/resources/templates/erp/utb/utb.html

@ -0,0 +1,169 @@
<!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>业务团队ID:</label>
<input type="text" name="utbId"/>
</li>
<li>
<label>团队名称:</label>
<input type="text" name="utbName"/>
</li>
<li>
<label>业务员1:</label>
<input type="text" name="salesman1"/>
</li>
<li>
<label>业务员2:</label>
<input type="text" name="salesman2"/>
</li>
<li>
<label>业务员3:</label>
<input type="text" name="salesman3"/>
</li>
<li>
<label>经理:</label>
<input type="text" name="manage"/>
</li>
<li>
<label>主管:</label>
<input type="text" name="manager"/>
</li>
<li class="select-time">
<label>录入时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</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="erp:utb:add">
<i class="fa fa-plus"></i> 添加业务团队
</a>
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="erp:utb:edit">-->
<!-- <i class="fa fa-edit"></i> 修改-->
<!-- </a>-->
<!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="erp:utb:remove">-->
<!-- <i class="fa fa-remove"></i> 删除-->
<!-- </a>-->
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="erp:utb: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('erp:utb:edit')}]];
var removeFlag = [[${@permission.hasPermi('erp:utb:remove')}]];
var cancelFlag = [[${@permission.hasPermi('erp:utb:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('erp:utb:restore')}]];
var prefix = ctx + "erp/utb";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
modalName: "业务团队",
columns: [{
checkbox: true
},
{
field: 'id',
title: 'id',
visible: false
},
{
field: 'utbId',
title: '业务团队ID'
},
{
field: 'utbName',
title: '团队名称'
},
{
field: 'salesman1',
title: '业务员1'
},
{
field: 'salesman2',
title: '业务员2'
},
{
field: 'salesman3',
title: '业务员3'
},
{
field: 'manage',
title: '经理'
},
{
field: 'manager',
title: '主管'
},
{
field: 'remark',
title: '备注'
},
{
field: 'createBy',
title: '录入人'
},
{
field: 'createTime',
title: '录入时间'
},
{
field: 'updateBy',
title: '更新人'
},
{
field: 'updateTime',
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> ');
if(row.delFlag == '0'){
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i>作废</a> ');
}else{
actions.push('<a class="btn btn-success btn-xs ' + restoreFlag + '" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i>恢复</a> ');
}
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

33
ruoyi-admin/src/main/resources/templates/erp/utb/utbcoef.html

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('业务绩效系统配置')" />
<th:block th:include="include :: select2-css" />
<link th:href="@{/ajax/libs/element-ui/element-ui.css}" rel="stylesheet"/>
</head>
<body class="white-bg">
<div id="app" class="wrapper wrapper-content animated fadeInRight ibox-content" >
<h2>业务绩效配置</h2>
<form class="form-horizontal m" id="form-material-edit" th:object="${erpMaterial}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<div class="col-sm-8">
超过 <input class="form-control" type="text" disabled><input class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"></label>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" />
<script th:src="@{/ajax/libs/vue/vue.js}"></script>
<script th:src="@{/ajax/libs/element-ui/element-ui.js}"></script>
<script type="text/javascript">
var prefix = ctx + "erp/utb";
</script>
</body>
</html>

61
ruoyi-admin/src/main/resources/templates/taxInvoice/companyCost/add.html

@ -0,0 +1,61 @@
<!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-companyCost-add">
<div class="form-group">
<label class="col-sm-3 control-label">公司成本ID:</label>
<div class="col-sm-8">
<input name="ctcId" 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="year" 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="month" 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="opex" 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="cob" 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="remark" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "taxInvoice/companyCost"
$("#form-companyCost-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-companyCost-add').serialize());
}
}
</script>
</body>
</html>

123
ruoyi-admin/src/main/resources/templates/taxInvoice/companyCost/companyCost.html

@ -0,0 +1,123 @@
<!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>公司成本ID:</label>
<input type="text" name="ctcId"/>
</li>
<li>
<label>年份:</label>
<input type="text" name="year"/>
</li>
<li>
<label>月份:</label>
<input type="text" name="month"/>
</li>
<li class="select-time">
<label>录入时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</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="taxInvoice:companyCost:add">
<i class="fa fa-plus"></i> 添加成本
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="taxInvoice:companyCost: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('taxInvoice:companyCost:edit')}]];
var removeFlag = [[${@permission.hasPermi('taxInvoice:companyCost:remove')}]];
var cancelFlag = [[${@permission.hasPermi('taxInvoice:companyCost:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('taxInvoice:companyCost:restore')}]];
var prefix = ctx + "taxInvoice/companyCost";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
modalName: "公司成本",
columns: [{
checkbox: true
},
{
field: 'id',
title: '索引',
visible: false
},
{
field: 'ctcId',
title: '公司成本ID'
},
{
field: 'year',
title: '年份'
},
{
field: 'month',
title: '月份'
},
{
field: 'opex',
title: '经营成本'
},
{
field: 'cob',
title: '业务成本'
},
{
field: 'remark',
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> ');
if(row.delFlag == '0'){
actions.push('<a class="btn btn-danger btn-xs ' + cancelFlag + '" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i>作废</a> ');
}else{
actions.push('<a class="btn btn-success btn-xs ' + restoreFlag + '" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i>恢复</a> ');
}
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

62
ruoyi-admin/src/main/resources/templates/taxInvoice/companyCost/edit.html

@ -0,0 +1,62 @@
<!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-companyCost-edit" th:object="${erpCompanyCost}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">公司成本ID:</label>
<div class="col-sm-8">
<input name="ctcId" th:field="*{ctcId}" 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="year" th:field="*{year}" 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="month" th:field="*{month}" 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="opex" th:field="*{opex}" 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="cob" th:field="*{cob}" 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="remark" th:field="*{remark}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "taxInvoice/companyCost";
$("#form-companyCost-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-companyCost-edit').serialize());
}
}
</script>
</body>
</html>
Loading…
Cancel
Save