소스 검색

完善代码

yuansh 3 달 전
부모
커밋
3d60242f7f
33개의 변경된 파일2257개의 추가작업 그리고 13개의 파일을 삭제
  1. 3 3
      srm-module-code/src/main/java/org/jeecg/modules/baseCode/service/impl/SerialPatternServiceImpl.java
  2. 467 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/controller/PlatCommissionContractController.java
  3. 470 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/controller/PlatCommissionOrderController.java
  4. 123 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionContract.java
  5. 122 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionContractProduct.java
  6. 153 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionOrder.java
  7. 142 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionOrderProduct.java
  8. 17 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionContractMapper.java
  9. 31 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionContractProductMapper.java
  10. 17 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionOrderMapper.java
  11. 31 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionOrderProductMapper.java
  12. 5 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionContractMapper.xml
  13. 16 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionContractProductMapper.xml
  14. 5 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionOrderMapper.xml
  15. 16 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionOrderProductMapper.xml
  16. 22 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionContractProductService.java
  17. 48 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionContractService.java
  18. 22 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionOrderProductService.java
  19. 48 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionOrderService.java
  20. 27 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionContractProductServiceImpl.java
  21. 77 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionContractServiceImpl.java
  22. 27 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionOrderProductServiceImpl.java
  23. 77 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionOrderServiceImpl.java
  24. 120 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/vo/PlatCommissionContractPage.java
  25. 148 0
      srm-module-code/src/main/java/org/jeecg/modules/platCode/vo/PlatCommissionOrderPage.java
  26. 1 1
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/controller/SaleOrderController.java
  27. 1 1
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/entity/SaleOrder.java
  28. 2 1
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/entity/SaleOrderHis.java
  29. 2 0
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/service/impl/SaleDeliveryServiceImpl.java
  30. 12 4
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/service/impl/SaleOrderServiceImpl.java
  31. 1 1
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/vo/SaleOrderAlert.java
  32. 2 1
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/vo/SaleOrderHisPage.java
  33. 2 1
      srm-module-code/src/main/java/org/jeecg/modules/saleCode/vo/SaleOrderPage.java

+ 3 - 3
srm-module-code/src/main/java/org/jeecg/modules/baseCode/service/impl/SerialPatternServiceImpl.java

@@ -76,9 +76,9 @@ public class SerialPatternServiceImpl extends ServiceImpl<SerialPatternMapper, S
             // 查找最大值
             QueryWrapper<Map<String,String>> queryWrapper = new QueryWrapper<>();
             if(StringUtils.isNotBlank(prefix)){
-                if("sale_invoice".equals(tableName)){
-                    dateStr = "2501";
-                }
+//                if("sale_invoice".equals(tableName)){
+//                    dateStr = "2501";
+//                }
                 queryWrapper.likeRight(fieldName,prefix+dateStr);
             }
             Map<String,Object> row = sysSerialPatternMapper.selectMax(tableName, fieldName, queryWrapper);

+ 467 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/controller/PlatCommissionContractController.java

@@ -0,0 +1,467 @@
+package org.jeecg.modules.platCode.controller;
+
+import java.io.UnsupportedEncodingException;
+import java.io.IOException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.HashMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.modules.baseCode.service.ISerialPatternService;
+import org.jeecg.modules.purCode.entity.PurOrder;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.vo.LoginUser;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.query.QueryRuleEnum;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.platCode.entity.PlatCommissionContractProduct;
+import org.jeecg.modules.platCode.entity.PlatCommissionContract;
+import org.jeecg.modules.platCode.vo.PlatCommissionContractPage;
+import org.jeecg.modules.platCode.service.IPlatCommissionContractService;
+import org.jeecg.modules.platCode.service.IPlatCommissionContractProductService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+
+/**
+ * @Description: 佣金合同
+ * @Author: jeecg-boot
+ * @Date: 2025-02-12
+ * @Version: V1.0
+ */
+@Api(tags = "佣金合同")
+@RestController
+@RequestMapping("/platCode/platCommissionContract")
+@Slf4j
+public class PlatCommissionContractController {
+    @Autowired
+    private IPlatCommissionContractService platCommissionContractService;
+    @Autowired
+    private IPlatCommissionContractProductService platCommissionContractProductService;
+
+    @Autowired
+    private ISerialPatternService serialPatternService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param platCommissionContract
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "佣金合同-分页列表查询")
+    @ApiOperation(value = "佣金合同-分页列表查询", notes = "佣金合同-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<PlatCommissionContract>> queryPageList(PlatCommissionContract platCommissionContract,
+                                                               @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                               HttpServletRequest req) {
+        QueryWrapper<PlatCommissionContract> queryWrapper = QueryGenerator.initQueryWrapper(platCommissionContract, req.getParameterMap());
+        Page<PlatCommissionContract> page = new Page<PlatCommissionContract>(pageNo, pageSize);
+        IPage<PlatCommissionContract> pageList = platCommissionContractService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 添加
+     *
+     * @param platCommissionContractPage
+     * @return
+     */
+    @AutoLog(value = "佣金合同-添加")
+    @ApiOperation(value = "佣金合同-添加", notes = "佣金合同-添加")
+    @RequiresPermissions("platCode:plat_commission_contract:add")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody PlatCommissionContractPage platCommissionContractPage) {
+        PlatCommissionContract platCommissionContract = new PlatCommissionContract();
+        BeanUtils.copyProperties(platCommissionContractPage, platCommissionContract);
+
+        String code = platCommissionContract.getBillCode();
+        if (StringUtils.isNotBlank(code)) {
+
+            QueryWrapper<PlatCommissionContract> queryWrapper = new QueryWrapper();
+            queryWrapper.eq("bill_code", code);
+            queryWrapper.eq("del_flag", "0");
+
+            List<PlatCommissionContract> list = platCommissionContractService.list(queryWrapper);
+            if (list.size() != 0) {
+                return Result.error("佣金合同编码重复,请修改!");
+            }
+        } else {
+
+            Result<String> result = serialPatternService.getNextSerial("plat_commission_contract", "bill_code");
+            if (!result.isSuccess()) {
+                return result;
+            }
+            platCommissionContract.setBillCode(result.getMessage());
+        }
+
+        platCommissionContractService.saveMain(platCommissionContract, platCommissionContractPage.getPlatCommissionContractProductList());
+        return Result.OK("添加成功!");
+    }
+
+    /**
+     * 编辑
+     *
+     * @param platCommissionContractPage
+     * @return
+     */
+    @AutoLog(value = "佣金合同-编辑")
+    @ApiOperation(value = "佣金合同-编辑", notes = "佣金合同-编辑")
+    @RequiresPermissions("platCode:plat_commission_contract:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody PlatCommissionContractPage platCommissionContractPage) {
+        PlatCommissionContract platCommissionContract = new PlatCommissionContract();
+        BeanUtils.copyProperties(platCommissionContractPage, platCommissionContract);
+        PlatCommissionContract platCommissionContractEntity = platCommissionContractService.getById(platCommissionContract.getId());
+        if (platCommissionContractEntity == null) {
+            return Result.error("未找到对应数据");
+        }
+        platCommissionContractService.updateMain(platCommissionContract, platCommissionContractPage.getPlatCommissionContractProductList());
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "佣金合同-通过id删除")
+    @ApiOperation(value = "佣金合同-通过id删除", notes = "佣金合同-通过id删除")
+    @RequiresPermissions("platCode:plat_commission_contract:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        PlatCommissionContract platCommissionContract = platCommissionContractService.getById(id);
+        if (platCommissionContract == null) {
+            return Result.error("未找到对应数据");
+        }
+        String submit = platCommissionContract.getSubmit();
+        if (StringUtils.isNotBlank(submit) && submit.equals("1")) {
+            return Result.error("已提交的数据无法删除");
+        }
+        platCommissionContractService.delMain(id);
+        return Result.OK("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "佣金合同-批量删除")
+    @ApiOperation(value = "佣金合同-批量删除", notes = "佣金合同-批量删除")
+    @RequiresPermissions("platCode:plat_commission_contract:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+
+        for (String o : ids.split(",")) {
+            PlatCommissionContract platCommissionContract = platCommissionContractService.getById(o);
+            if (platCommissionContract == null) {
+                return Result.error("未找到对应数据");
+            }
+            String submit = platCommissionContract.getSubmit();
+            if (StringUtils.isNotBlank(submit) && submit.equals("1")) {
+                return Result.error("单号" + platCommissionContract.getBillCode() + "已提交,无法删除");
+            }
+
+        }
+        this.platCommissionContractService.delBatchMain(Arrays.asList(ids.split(",")));
+        return Result.OK("批量删除成功!");
+    }
+
+
+    /**
+     * 批量提交
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "佣金合同-批量提交")
+    @ApiOperation(value = "佣金合同-批量提交", notes = "佣金合同-批量提交")
+    @GetMapping(value = "/submitBatch")
+    public Result<String> submitBatch(@RequestParam(name = "ids", required = true) String ids) {
+
+        QueryWrapper<PlatCommissionContract> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("id", Arrays.asList(ids.split(",")));
+
+        List<PlatCommissionContract> list = platCommissionContractService.list(queryWrapper);
+        if (list.size() == 0) {
+            return Result.error("数据为空!");
+        }
+
+        StringBuffer sb = new StringBuffer();
+
+        for (PlatCommissionContract o : list) {
+            // 1-已提交,0-未提交
+            String submit = o.getSubmit();
+            String code = o.getBillCode();
+
+            //关闭(close)1是0否
+            String getClose = o.getClose();
+
+            if (StringUtils.isNotBlank(getClose) && !getClose.equals("0")) {
+                sb.append("单号" + code).append("已关闭,无法执行此操作;");
+                continue;
+            }
+            if (submit != null && submit != "" && submit.equals("1")) {
+                sb.append("单据编码" + code).append("已提交,请勿再次提交;");
+                continue;
+            }
+        }
+
+        if (StringUtils.isNotBlank(sb.toString())) {
+
+            return Result.error(sb.toString());
+        }
+
+        PlatCommissionContract ent = new PlatCommissionContract();
+        ent.setSubmit("1");
+        platCommissionContractService.update(ent, queryWrapper);
+
+        return Result.OK("提交成功!");
+    }
+
+    /**
+     * 批量取消提交
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "佣金合同-批量取消提交")
+    @ApiOperation(value = "佣金合同-批量取消提交", notes = "佣金合同-批量取消提交")
+    @GetMapping(value = "/returnSubmitBatch")
+    public Result<String> returnSubmitBatch(@RequestParam(name = "ids", required = true) String ids) {
+
+        QueryWrapper<PlatCommissionContract> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("id", Arrays.asList(ids.split(",")));
+
+        List<PlatCommissionContract> list = platCommissionContractService.list(queryWrapper);
+        if (list.size() == 0) {
+            return Result.error("数据为空!");
+        }
+
+        StringBuffer sb = new StringBuffer();
+
+        for (PlatCommissionContract o : list) {
+            // 1-已提交,0-未提交
+            String submit = o.getSubmit();
+            String code = o.getBillCode();
+
+            //关闭(close)1是0否
+            String getClose = o.getClose();
+
+            if (submit == null || submit == "" || submit.equals("0")) {
+                sb.append("单号" + code).append("已取消提交,请勿再次取消提交;");
+                continue;
+            }
+
+            if (StringUtils.isNotBlank(getClose) && getClose.equals("1")) {
+                sb.append("单号" + code).append("已关闭,无法执行此操作;");
+                continue;
+            }
+
+        }
+
+        if (StringUtils.isNotBlank(sb.toString())) {
+
+            return Result.error(sb.toString());
+        }
+
+        PlatCommissionContract ent = new PlatCommissionContract();
+        ent.setSubmit("0");
+        platCommissionContractService.update(ent, queryWrapper);
+
+        return Result.OK("提交成功!");
+    }
+
+    /**
+     * 批量关闭
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "佣金合同-批量关闭")
+    @ApiOperation(value = "佣金合同-批量关闭", notes = "佣金合同-批量关闭")
+    @GetMapping(value = "/submitClose")
+    public Result<String> submitClose(@RequestParam(name = "ids", required = true) String ids) {
+
+        QueryWrapper<PlatCommissionContract> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("id", Arrays.asList(ids.split(",")));
+
+        List<PlatCommissionContract> list = platCommissionContractService.list(queryWrapper);
+        if (list.size() == 0) {
+            return Result.error("数据为空!");
+        }
+
+        StringBuffer sb = new StringBuffer();
+
+        for (PlatCommissionContract o : list) {
+
+            String code = o.getBillCode();
+            //关闭(close)1是0否
+            String getClose = o.getClose();
+
+            if (StringUtils.isNotBlank(getClose) && !getClose.equals("0")) {
+                sb.append("单号" + code).append("已关闭,无需再次关闭;");
+                continue;
+            }
+        }
+
+        if (StringUtils.isNotBlank(sb.toString())) {
+
+            return Result.error(sb.toString());
+        }
+
+        PlatCommissionContract ent = new PlatCommissionContract();
+        ent.setClose("1");
+        platCommissionContractService.update(ent, queryWrapper);
+
+        return Result.OK("关闭成功!");
+    }
+
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "佣金合同-通过id查询")
+    @ApiOperation(value = "佣金合同-通过id查询", notes = "佣金合同-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<PlatCommissionContract> queryById(@RequestParam(name = "id", required = true) String id) {
+        PlatCommissionContract platCommissionContract = platCommissionContractService.getById(id);
+        if (platCommissionContract == null) {
+            return Result.error("未找到对应数据");
+        }
+        return Result.OK(platCommissionContract);
+
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "佣金合同-子表通过主表ID查询")
+    @ApiOperation(value = "佣金合同-子表主表ID查询", notes = "佣金合同-子表-通主表ID查询")
+    @GetMapping(value = "/queryPlatCommissionContractProductByMainId")
+    public Result<List<PlatCommissionContractProduct>> queryPlatCommissionContractProductListByMainId(@RequestParam(name = "id", required = true) String id) {
+        List<PlatCommissionContractProduct> platCommissionContractProductList = platCommissionContractProductService.selectByMainId(id);
+        return Result.OK(platCommissionContractProductList);
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param platCommissionContract
+     */
+    @RequiresPermissions("platCode:plat_commission_contract:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, PlatCommissionContract platCommissionContract) {
+        // Step.1 组装查询条件查询数据
+        QueryWrapper<PlatCommissionContract> queryWrapper = QueryGenerator.initQueryWrapper(platCommissionContract, request.getParameterMap());
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+        //配置选中数据查询条件
+        String selections = request.getParameter("selections");
+        if (oConvertUtils.isNotEmpty(selections)) {
+            List<String> selectionList = Arrays.asList(selections.split(","));
+            queryWrapper.in("id", selectionList);
+        }
+        //Step.2 获取导出数据
+        List<PlatCommissionContract> platCommissionContractList = platCommissionContractService.list(queryWrapper);
+
+        // Step.3 组装pageList
+        List<PlatCommissionContractPage> pageList = new ArrayList<PlatCommissionContractPage>();
+        for (PlatCommissionContract main : platCommissionContractList) {
+            PlatCommissionContractPage vo = new PlatCommissionContractPage();
+            BeanUtils.copyProperties(main, vo);
+            List<PlatCommissionContractProduct> platCommissionContractProductList = platCommissionContractProductService.selectByMainId(main.getId());
+            vo.setPlatCommissionContractProductList(platCommissionContractProductList);
+            pageList.add(vo);
+        }
+
+        // Step.4 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        mv.addObject(NormalExcelConstants.FILE_NAME, "佣金合同列表");
+        mv.addObject(NormalExcelConstants.CLASS, PlatCommissionContractPage.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("佣金合同数据", "导出人:" + sysUser.getRealname(), "佣金合同"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequiresPermissions("platCode:plat_commission_contract:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            // 获取上传文件对象
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<PlatCommissionContractPage> list = ExcelImportUtil.importExcel(file.getInputStream(), PlatCommissionContractPage.class, params);
+                for (PlatCommissionContractPage page : list) {
+                    PlatCommissionContract po = new PlatCommissionContract();
+                    BeanUtils.copyProperties(page, po);
+                    platCommissionContractService.saveMain(po, page.getPlatCommissionContractProductList());
+                }
+                return Result.OK("文件导入成功!数据行数:" + list.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.OK("文件导入失败!");
+    }
+
+}

+ 470 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/controller/PlatCommissionOrderController.java

@@ -0,0 +1,470 @@
+package org.jeecg.modules.platCode.controller;
+
+import java.io.UnsupportedEncodingException;
+import java.io.IOException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.HashMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.modules.baseCode.service.ISerialPatternService;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrder;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.vo.LoginUser;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.query.QueryRuleEnum;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrder;
+import org.jeecg.modules.platCode.vo.PlatCommissionOrderPage;
+import org.jeecg.modules.platCode.service.IPlatCommissionOrderService;
+import org.jeecg.modules.platCode.service.IPlatCommissionOrderProductService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+
+ /**
+ * @Description: 佣金订单
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@Api(tags="佣金订单")
+@RestController
+@RequestMapping("/platCode/platCommissionOrder")
+@Slf4j
+public class PlatCommissionOrderController {
+	@Autowired
+	private IPlatCommissionOrderService platCommissionOrderService;
+	@Autowired
+	private IPlatCommissionOrderProductService platCommissionOrderProductService;
+
+	 @Autowired
+	 private ISerialPatternService serialPatternService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param platCommissionOrder
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "佣金订单-分页列表查询")
+	@ApiOperation(value="佣金订单-分页列表查询", notes="佣金订单-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<PlatCommissionOrder>> queryPageList(PlatCommissionOrder platCommissionOrder,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+        QueryWrapper<PlatCommissionOrder> queryWrapper = QueryGenerator.initQueryWrapper(platCommissionOrder, req.getParameterMap());
+		Page<PlatCommissionOrder> page = new Page<PlatCommissionOrder>(pageNo, pageSize);
+		IPage<PlatCommissionOrder> pageList = platCommissionOrderService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param platCommissionOrderPage
+	 * @return
+	 */
+	@AutoLog(value = "佣金订单-添加")
+	@ApiOperation(value="佣金订单-添加", notes="佣金订单-添加")
+    @RequiresPermissions("platCode:plat_commission_order:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody PlatCommissionOrderPage platCommissionOrderPage) {
+		PlatCommissionOrder platCommissionOrder = new PlatCommissionOrder();
+		BeanUtils.copyProperties(platCommissionOrderPage, platCommissionOrder);
+
+		String code = platCommissionOrder.getBillCode();
+		if (StringUtils.isNotBlank(code)) {
+
+			QueryWrapper<PlatCommissionOrder> queryWrapper = new QueryWrapper();
+			queryWrapper.eq("bill_code", code);
+			queryWrapper.eq("del_flag", "0");
+
+			List<PlatCommissionOrder> list = platCommissionOrderService.list(queryWrapper);
+			if (list.size() != 0) {
+				return Result.error("佣金订单编码重复,请修改!");
+			}
+		} else {
+
+			Result<String> result = serialPatternService.getNextSerial("plat_commission_order", "bill_code");
+			if (!result.isSuccess()) {
+				return result;
+			}
+			platCommissionOrder.setBillCode(result.getMessage());
+		}
+
+		platCommissionOrderService.saveMain(platCommissionOrder, platCommissionOrderPage.getPlatCommissionOrderProductList());
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param platCommissionOrderPage
+	 * @return
+	 */
+	@AutoLog(value = "佣金订单-编辑")
+	@ApiOperation(value="佣金订单-编辑", notes="佣金订单-编辑")
+    @RequiresPermissions("platCode:plat_commission_order:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody PlatCommissionOrderPage platCommissionOrderPage) {
+		PlatCommissionOrder platCommissionOrder = new PlatCommissionOrder();
+		BeanUtils.copyProperties(platCommissionOrderPage, platCommissionOrder);
+		PlatCommissionOrder platCommissionOrderEntity = platCommissionOrderService.getById(platCommissionOrder.getId());
+		if(platCommissionOrderEntity==null) {
+			return Result.error("未找到对应数据");
+		}
+		platCommissionOrderService.updateMain(platCommissionOrder, platCommissionOrderPage.getPlatCommissionOrderProductList());
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "佣金订单-通过id删除")
+	@ApiOperation(value="佣金订单-通过id删除", notes="佣金订单-通过id删除")
+    @RequiresPermissions("platCode:plat_commission_order:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		PlatCommissionOrder platCommissionOrder = platCommissionOrderService.getById(id);
+		if(platCommissionOrder==null) {
+			return Result.error("未找到对应数据");
+		}
+		String submit = platCommissionOrder.getSubmit();
+		if (StringUtils.isNotBlank(submit) && submit.equals("1")) {
+			return Result.error("已提交的数据无法删除");
+		}
+		platCommissionOrderService.delMain(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "佣金订单-批量删除")
+	@ApiOperation(value="佣金订单-批量删除", notes="佣金订单-批量删除")
+    @RequiresPermissions("platCode:plat_commission_order:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+
+		for (String o : ids.split(",")) {
+			PlatCommissionOrder platCommissionOrder = platCommissionOrderService.getById(o);
+			if (platCommissionOrder == null) {
+				return Result.error("未找到对应数据");
+			}
+			String submit = platCommissionOrder.getSubmit();
+			if (StringUtils.isNotBlank(submit) && submit.equals("1")) {
+				return Result.error("单号" + platCommissionOrder.getBillCode() + "已提交,无法删除");
+			}
+
+		}
+
+		this.platCommissionOrderService.delBatchMain(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+
+
+	 /**
+	  * 批量提交
+	  *
+	  * @param ids
+	  * @return
+	  */
+	 @AutoLog(value = "佣金订单-批量提交")
+	 @ApiOperation(value = "佣金订单-批量提交", notes = "佣金订单-批量提交")
+	 @GetMapping(value = "/submitBatch")
+	 public Result<String> submitBatch(@RequestParam(name = "ids", required = true) String ids) {
+
+		 QueryWrapper<PlatCommissionOrder> queryWrapper = new QueryWrapper<>();
+		 queryWrapper.in("id", Arrays.asList(ids.split(",")));
+
+		 List<PlatCommissionOrder> list = platCommissionOrderService.list(queryWrapper);
+		 if (list.size() == 0) {
+			 return Result.error("数据为空!");
+		 }
+
+		 StringBuffer sb = new StringBuffer();
+
+		 for (PlatCommissionOrder o : list) {
+			 // 1-已提交,0-未提交
+			 String submit = o.getSubmit();
+			 String code = o.getBillCode();
+
+			 //关闭(close)1是0否
+			 String getClose = o.getClose();
+
+			 if (StringUtils.isNotBlank(getClose) && !getClose.equals("0")) {
+				 sb.append("单号" + code).append("已关闭,无法执行此操作;");
+				 continue;
+			 }
+			 if (submit != null && submit != "" && submit.equals("1")) {
+				 sb.append("单据编码" + code).append("已提交,请勿再次提交;");
+				 continue;
+			 }
+		 }
+
+		 if (StringUtils.isNotBlank(sb.toString())) {
+
+			 return Result.error(sb.toString());
+		 }
+
+		 PlatCommissionOrder ent = new PlatCommissionOrder();
+		 ent.setSubmit("1");
+		 platCommissionOrderService.update(ent, queryWrapper);
+
+		 return Result.OK("提交成功!");
+	 }
+
+	 /**
+	  * 批量取消提交
+	  *
+	  * @param ids
+	  * @return
+	  */
+	 @AutoLog(value = "佣金订单-批量取消提交")
+	 @ApiOperation(value = "佣金订单-批量取消提交", notes = "佣金订单-批量取消提交")
+	 @GetMapping(value = "/returnSubmitBatch")
+	 public Result<String> returnSubmitBatch(@RequestParam(name = "ids", required = true) String ids) {
+
+		 QueryWrapper<PlatCommissionOrder> queryWrapper = new QueryWrapper<>();
+		 queryWrapper.in("id", Arrays.asList(ids.split(",")));
+
+		 List<PlatCommissionOrder> list = platCommissionOrderService.list(queryWrapper);
+		 if (list.size() == 0) {
+			 return Result.error("数据为空!");
+		 }
+
+		 StringBuffer sb = new StringBuffer();
+
+		 for (PlatCommissionOrder o : list) {
+			 // 1-已提交,0-未提交
+			 String submit = o.getSubmit();
+			 String code = o.getBillCode();
+
+			 //关闭(close)1是0否
+			 String getClose = o.getClose();
+
+			 if (submit == null || submit == "" || submit.equals("0")) {
+				 sb.append("单号" + code).append("已取消提交,请勿再次取消提交;");
+				 continue;
+			 }
+
+			 if (StringUtils.isNotBlank(getClose) && getClose.equals("1")) {
+				 sb.append("单号" + code).append("已关闭,无法执行此操作;");
+				 continue;
+			 }
+
+		 }
+
+		 if (StringUtils.isNotBlank(sb.toString())) {
+
+			 return Result.error(sb.toString());
+		 }
+
+		 PlatCommissionOrder ent = new PlatCommissionOrder();
+		 ent.setSubmit("0");
+		 platCommissionOrderService.update(ent, queryWrapper);
+
+		 return Result.OK("提交成功!");
+	 }
+
+	 /**
+	  * 批量关闭
+	  *
+	  * @param ids
+	  * @return
+	  */
+	 @AutoLog(value = "佣金订单-批量关闭")
+	 @ApiOperation(value = "佣金订单-批量关闭", notes = "佣金订单-批量关闭")
+	 @GetMapping(value = "/submitClose")
+	 public Result<String> submitClose(@RequestParam(name = "ids", required = true) String ids) {
+
+		 QueryWrapper<PlatCommissionOrder> queryWrapper = new QueryWrapper<>();
+		 queryWrapper.in("id", Arrays.asList(ids.split(",")));
+
+		 List<PlatCommissionOrder> list = platCommissionOrderService.list(queryWrapper);
+		 if (list.size() == 0) {
+			 return Result.error("数据为空!");
+		 }
+
+		 StringBuffer sb = new StringBuffer();
+
+		 for (PlatCommissionOrder o : list) {
+
+			 String code = o.getBillCode();
+			 //关闭(close)1是0否
+			 String getClose = o.getClose();
+
+			 if (StringUtils.isNotBlank(getClose) && !getClose.equals("0")) {
+				 sb.append("单号" + code).append("已关闭,无需再次关闭;");
+				 continue;
+			 }
+		 }
+
+		 if (StringUtils.isNotBlank(sb.toString())) {
+
+			 return Result.error(sb.toString());
+		 }
+
+		 PlatCommissionOrder ent = new PlatCommissionOrder();
+		 ent.setClose("1");
+		 platCommissionOrderService.update(ent, queryWrapper);
+
+		 return Result.OK("关闭成功!");
+	 }
+
+
+
+	 /**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "佣金订单-通过id查询")
+	@ApiOperation(value="佣金订单-通过id查询", notes="佣金订单-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<PlatCommissionOrder> queryById(@RequestParam(name="id",required=true) String id) {
+		PlatCommissionOrder platCommissionOrder = platCommissionOrderService.getById(id);
+		if(platCommissionOrder==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(platCommissionOrder);
+
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "佣金订单-子表通过主表ID查询")
+	@ApiOperation(value="佣金订单-子表主表ID查询", notes="佣金订单-子表-通主表ID查询")
+	@GetMapping(value = "/queryPlatCommissionOrderProductByMainId")
+	public Result<List<PlatCommissionOrderProduct>> queryPlatCommissionOrderProductListByMainId(@RequestParam(name="id",required=true) String id) {
+		List<PlatCommissionOrderProduct> platCommissionOrderProductList = platCommissionOrderProductService.selectByMainId(id);
+		return Result.OK(platCommissionOrderProductList);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param platCommissionOrder
+    */
+    @RequiresPermissions("platCode:plat_commission_order:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, PlatCommissionOrder platCommissionOrder) {
+      // Step.1 组装查询条件查询数据
+      QueryWrapper<PlatCommissionOrder> queryWrapper = QueryGenerator.initQueryWrapper(platCommissionOrder, request.getParameterMap());
+      LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+      //配置选中数据查询条件
+      String selections = request.getParameter("selections");
+      if(oConvertUtils.isNotEmpty(selections)) {
+         List<String> selectionList = Arrays.asList(selections.split(","));
+         queryWrapper.in("id",selectionList);
+      }
+      //Step.2 获取导出数据
+      List<PlatCommissionOrder> platCommissionOrderList = platCommissionOrderService.list(queryWrapper);
+
+      // Step.3 组装pageList
+      List<PlatCommissionOrderPage> pageList = new ArrayList<PlatCommissionOrderPage>();
+      for (PlatCommissionOrder main : platCommissionOrderList) {
+          PlatCommissionOrderPage vo = new PlatCommissionOrderPage();
+          BeanUtils.copyProperties(main, vo);
+          List<PlatCommissionOrderProduct> platCommissionOrderProductList = platCommissionOrderProductService.selectByMainId(main.getId());
+          vo.setPlatCommissionOrderProductList(platCommissionOrderProductList);
+          pageList.add(vo);
+      }
+
+      // Step.4 AutoPoi 导出Excel
+      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+      mv.addObject(NormalExcelConstants.FILE_NAME, "佣金订单列表");
+      mv.addObject(NormalExcelConstants.CLASS, PlatCommissionOrderPage.class);
+      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("佣金订单数据", "导出人:"+sysUser.getRealname(), "佣金订单"));
+      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+      return mv;
+    }
+
+    /**
+    * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequiresPermissions("platCode:plat_commission_order:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+      for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+          // 获取上传文件对象
+          MultipartFile file = entity.getValue();
+          ImportParams params = new ImportParams();
+          params.setTitleRows(2);
+          params.setHeadRows(1);
+          params.setNeedSave(true);
+          try {
+              List<PlatCommissionOrderPage> list = ExcelImportUtil.importExcel(file.getInputStream(), PlatCommissionOrderPage.class, params);
+              for (PlatCommissionOrderPage page : list) {
+                  PlatCommissionOrder po = new PlatCommissionOrder();
+                  BeanUtils.copyProperties(page, po);
+                  platCommissionOrderService.saveMain(po, page.getPlatCommissionOrderProductList());
+              }
+              return Result.OK("文件导入成功!数据行数:" + list.size());
+          } catch (Exception e) {
+              log.error(e.getMessage(),e);
+              return Result.error("文件导入失败:"+e.getMessage());
+          } finally {
+              try {
+                  file.getInputStream().close();
+              } catch (IOException e) {
+                  e.printStackTrace();
+              }
+          }
+      }
+      return Result.OK("文件导入失败!");
+    }
+
+}

+ 123 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionContract.java

@@ -0,0 +1,123 @@
+package org.jeecg.modules.platCode.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 佣金合同
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@ApiModel(value="plat_commission_contract对象", description="佣金合同")
+@Data
+@TableName("plat_commission_contract")
+public class PlatCommissionContract implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键id")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    private String sysOrgCode;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+	/**状态(1-启用,0-停用)*/
+	@Excel(name = "状态(1-启用,0-停用)", width = 15)
+    @ApiModelProperty(value = "状态(1-启用,0-停用)")
+    @Dict(dicCode = "yes_or_no")
+    private Integer status;
+	/**提交(submit)1是0否*/
+	@Excel(name = "提交(submit)1是0否", width = 15)
+    @ApiModelProperty(value = "提交(submit)1是0否")
+    @Dict(dicCode = "yes_or_no")
+    private String submit;
+	/**关闭(close)1是0否*/
+	@Excel(name = "关闭(close)1是0否", width = 15)
+    @ApiModelProperty(value = "关闭(close)1是0否")
+    @Dict(dicCode = "yes_or_no")
+    private String close;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+	/**单据日期*/
+	@Excel(name = "单据日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "单据日期")
+    private Date billDate;
+	/**单据编码*/
+	@Excel(name = "单据编码", width = 15)
+    @ApiModelProperty(value = "单据编码")
+    private String billCode;
+	/**供应商(supplier)*/
+	@Excel(name = "供应商(supplier)", width = 15)
+    @ApiModelProperty(value = "供应商(supplier)")
+    private String supplierId;
+	/**供应商名称*/
+	@Excel(name = "供应商名称", width = 15)
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+	/**币种(currency)*/
+	@Excel(name = "币种(currency)", width = 15)
+    @ApiModelProperty(value = "币种(currency)")
+    private String currency;
+	/**销售部门(sale department)*/
+	@Excel(name = "销售部门(sale department)", width = 15)
+    @ApiModelProperty(value = "销售部门(sale department)")
+    private String saleDepartmen;
+	/**销售部门名称*/
+	@Excel(name = "销售部门名称", width = 15)
+    @ApiModelProperty(value = "销售部门名称")
+    private String saleDepartmenName;
+	/**业务员(salesman)*/
+	@Excel(name = "业务员(salesman)", width = 15)
+    @ApiModelProperty(value = "业务员(salesman)")
+    private String salesman;
+	/**业务员名称*/
+	@Excel(name = "业务员名称", width = 15)
+    @ApiModelProperty(value = "业务员名称")
+    private String salesmanName;
+	/**佣金比例(commission rate)*/
+	@Excel(name = "佣金比例(commission rate)", width = 15)
+    @ApiModelProperty(value = "佣金比例(commission rate)")
+    private java.math.BigDecimal commissionRate;
+	/**备注(notes)*/
+	@Excel(name = "备注(notes)", width = 15)
+    @ApiModelProperty(value = "备注(notes)")
+    private String notes;
+	/**附件(attachs)*/
+	@Excel(name = "附件(attachs)", width = 15)
+    @ApiModelProperty(value = "附件(attachs)")
+    private String attachs;
+}

+ 122 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionContractProduct.java

@@ -0,0 +1,122 @@
+package org.jeecg.modules.platCode.entity;
+
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * @Description: 佣金合同-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@ApiModel(value="plat_commission_contract_product对象", description="佣金合同-子表")
+@Data
+@TableName("plat_commission_contract_product")
+public class PlatCommissionContractProduct implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键id")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    private String sysOrgCode;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+	/**状态(1-启用,0-停用)*/
+	@Excel(name = "状态(1-启用,0-停用)", width = 15)
+    @ApiModelProperty(value = "状态(1-启用,0-停用)")
+    private Integer status;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+	/**表头主键(佣金合同)*/
+    @ApiModelProperty(value = "表头主键(佣金合同)")
+    private String headId;
+	/**产品id*/
+    @ApiModelProperty(value = "产品id")
+    private String productId;
+
+    @Excel(name = "产品编码", width = 15)
+    @ApiModelProperty(value = "产品编码")
+    private String productCode;
+    @Excel(name = "产品分类", width = 15)
+    @ApiModelProperty(value = "产品分类")
+    private String productClass;
+	/**产品中文名(chinese name)*/
+	@Excel(name = "产品中文名(chinese name)", width = 15)
+    @ApiModelProperty(value = "产品中文名(chinese name)")
+    private String chineseName;
+	/**产品英文名*/
+	@Excel(name = "产品英文名", width = 15)
+    @ApiModelProperty(value = "产品英文名")
+    private String englishName;
+	/**规格*/
+	@Excel(name = "规格", width = 15)
+    @ApiModelProperty(value = "规格")
+    private String specifications;
+	/**型号*/
+	@Excel(name = "型号", width = 15)
+    @ApiModelProperty(value = "型号")
+    private String model;
+	/**备件号*/
+	@Excel(name = "备件号", width = 15)
+    @ApiModelProperty(value = "备件号")
+    private String partno;
+	/**图号*/
+	@Excel(name = "图号", width = 15)
+    @ApiModelProperty(value = "图号")
+    private String drawingno;
+	/**订货号*/
+	@Excel(name = "订货号", width = 15)
+    @ApiModelProperty(value = "订货号")
+    private String orderno;
+	/**厂家*/
+	@Excel(name = "厂家", width = 15)
+    @ApiModelProperty(value = "厂家")
+    private String factory;
+	/**质量等级*/
+	@Excel(name = "质量等级", width = 15)
+    @ApiModelProperty(value = "质量等级")
+    private String qualityGrade;
+	/**佣金比例(commission rate)*/
+	@Excel(name = "佣金比例(commission rate)", width = 15)
+    @ApiModelProperty(value = "佣金比例(commission rate)")
+    private java.math.BigDecimal commissionRateChild;
+	/**备注(notes)*/
+	@Excel(name = "备注(notes)", width = 15)
+    @ApiModelProperty(value = "备注(notes)")
+    private String notesChild;
+	/**附件(attachs)*/
+	@Excel(name = "附件(attachs)", width = 15)
+    @ApiModelProperty(value = "附件(attachs)")
+    private String attachsChild;
+}

+ 153 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionOrder.java

@@ -0,0 +1,153 @@
+package org.jeecg.modules.platCode.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 佣金订单
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@ApiModel(value="plat_commission_order对象", description="佣金订单")
+@Data
+@TableName("plat_commission_order")
+public class PlatCommissionOrder implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键id")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    private String sysOrgCode;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+	/**状态(1-启用,0-停用)*/
+	@Excel(name = "状态(1-启用,0-停用)", width = 15)
+    @ApiModelProperty(value = "状态(1-启用,0-停用)")
+    @Dict(dicCode = "yes_or_no")
+    private Integer status;
+	/**提交(submit)1是0否*/
+	@Excel(name = "提交(submit)1是0否", width = 15)
+    @ApiModelProperty(value = "提交(submit)1是0否")
+    @Dict(dicCode = "yes_or_no")
+    private String submit;
+	/**关闭(close)1是0否*/
+	@Excel(name = "关闭(close)1是0否", width = 15)
+    @ApiModelProperty(value = "关闭(close)1是0否")
+    @Dict(dicCode = "yes_or_no")
+    private String close;
+	/**供应商回款(supplier payment)1是0否*/
+	@Excel(name = "供应商回款(supplier payment)1是0否", width = 15)
+    @ApiModelProperty(value = "供应商回款(supplier payment)1是0否")
+    @Dict(dicCode = "yes_or_no")
+    private String supplierPayment;
+	/**开票申请(apply invoice)1是0否*/
+	@Excel(name = "开票申请(apply invoice)1是0否", width = 15)
+    @ApiModelProperty(value = "开票申请(apply invoice)1是0否")
+    @Dict(dicCode = "yes_or_no")
+    private String applyInvoice;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+	/**单据日期*/
+	@Excel(name = "单据日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "单据日期")
+    private Date billDate;
+	/**单据编码*/
+	@Excel(name = "单据编码", width = 15)
+    @ApiModelProperty(value = "单据编码")
+    private String billCode;
+	/**供应商(supplier)*/
+	@Excel(name = "供应商(supplier)", width = 15)
+    @ApiModelProperty(value = "供应商(supplier)")
+    private String supplierId;
+	/**供应商名称*/
+	@Excel(name = "供应商名称", width = 15)
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+	/**币种(currency)*/
+	@Excel(name = "币种(currency)", width = 15)
+    @ApiModelProperty(value = "币种(currency)")
+    private String currency;
+	/**客户(customer)*/
+	@Excel(name = "客户(customer)", width = 15)
+    @ApiModelProperty(value = "客户(customer)")
+    private String customerId;
+	/**客户名称*/
+	@Excel(name = "客户名称", width = 15)
+    @ApiModelProperty(value = "客户名称")
+    private String customerName;
+	/**佣金合同(commission contract)*/
+	@Excel(name = "佣金合同(commission contract)", width = 15)
+    @ApiModelProperty(value = "佣金合同(commission contract)")
+    private String commissionContract;
+	/**佣金合同编号*/
+	@Excel(name = "佣金合同编号", width = 15)
+    @ApiModelProperty(value = "佣金合同编号")
+    private String commissionContractCode;
+	/**佣金(commission)*/
+	@Excel(name = "佣金(commission)", width = 15)
+    @ApiModelProperty(value = "佣金(commission)")
+    private java.math.BigDecimal commission;
+	/**销售部门(sale department)*/
+	@Excel(name = "销售部门(sale department)", width = 15)
+    @ApiModelProperty(value = "销售部门(sale department)")
+    private String saleDepartmen;
+	/**销售部门名称*/
+	@Excel(name = "销售部门名称", width = 15)
+    @ApiModelProperty(value = "销售部门名称")
+    private String saleDepartmenName;
+	/**业务员(salesman)*/
+	@Excel(name = "业务员(salesman)", width = 15)
+    @ApiModelProperty(value = "业务员(salesman)")
+    private String salesman;
+	/**业务员名称*/
+	@Excel(name = "业务员名称", width = 15)
+    @ApiModelProperty(value = "业务员名称")
+    private String salesmanName;
+	/**佣金比例(commission rate)*/
+	@Excel(name = "佣金比例(commission rate)", width = 15)
+    @ApiModelProperty(value = "佣金比例(commission rate)")
+    private java.math.BigDecimal commissionRate;
+	/**备注(notes)*/
+	@Excel(name = "备注(notes)", width = 15)
+    @ApiModelProperty(value = "备注(notes)")
+    private String notes;
+	/**附件(attachs)*/
+	@Excel(name = "附件(attachs)", width = 15)
+    @ApiModelProperty(value = "附件(attachs)")
+    private String attachs;
+}

+ 142 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionOrderProduct.java

@@ -0,0 +1,142 @@
+package org.jeecg.modules.platCode.entity;
+
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * @Description: 佣金订单-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@ApiModel(value="plat_commission_order_product对象", description="佣金订单-子表")
+@Data
+@TableName("plat_commission_order_product")
+public class PlatCommissionOrderProduct implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键id")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    private String sysOrgCode;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+	/**状态(1-启用,0-停用)*/
+	@Excel(name = "状态(1-启用,0-停用)", width = 15)
+    @ApiModelProperty(value = "状态(1-启用,0-停用)")
+    private Integer status;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+	/**表头主键(佣金订单)*/
+    @ApiModelProperty(value = "表头主键(佣金订单)")
+    private String headId;
+	/**产品id*/
+	@Excel(name = "产品id", width = 15)
+    @ApiModelProperty(value = "产品id")
+    private String productId;
+    @Excel(name = "产品编码", width = 15)
+    @ApiModelProperty(value = "产品编码")
+    private String productCode;
+    @Excel(name = "产品分类", width = 15)
+    @ApiModelProperty(value = "产品分类")
+    private String productClass;
+	/**产品中文名(chinese name)*/
+	@Excel(name = "产品中文名(chinese name)", width = 15)
+    @ApiModelProperty(value = "产品中文名(chinese name)")
+    private String chineseName;
+	/**产品英文名*/
+	@Excel(name = "产品英文名", width = 15)
+    @ApiModelProperty(value = "产品英文名")
+    private String englishName;
+	/**规格*/
+	@Excel(name = "规格", width = 15)
+    @ApiModelProperty(value = "规格")
+    private String specifications;
+	/**型号*/
+	@Excel(name = "型号", width = 15)
+    @ApiModelProperty(value = "型号")
+    private String model;
+	/**备件号*/
+	@Excel(name = "备件号", width = 15)
+    @ApiModelProperty(value = "备件号")
+    private String partno;
+	/**图号*/
+	@Excel(name = "图号", width = 15)
+    @ApiModelProperty(value = "图号")
+    private String drawingno;
+	/**订货号*/
+	@Excel(name = "订货号", width = 15)
+    @ApiModelProperty(value = "订货号")
+    private String orderno;
+	/**厂家*/
+	@Excel(name = "厂家", width = 15)
+    @ApiModelProperty(value = "厂家")
+    private String factory;
+	/**质量等级*/
+	@Excel(name = "质量等级", width = 15)
+    @ApiModelProperty(value = "质量等级")
+    private String qualityGrade;
+	/**佣金比例(commission rate)*/
+	@Excel(name = "佣金比例(commission rate)", width = 15)
+    @ApiModelProperty(value = "佣金比例(commission rate)")
+    private java.math.BigDecimal commissionRateChild;
+	/**数量(quantity)*/
+	@Excel(name = "数量(quantity)", width = 15)
+    @ApiModelProperty(value = "数量(quantity)")
+    private java.math.BigDecimal quantity;
+	/**含税单价(tax price)*/
+	@Excel(name = "含税单价(tax price)", width = 15)
+    @ApiModelProperty(value = "含税单价(tax price)")
+    private java.math.BigDecimal taxPrice;
+	/**含税金额(tax money)*/
+	@Excel(name = "含税金额(tax money)", width = 15)
+    @ApiModelProperty(value = "含税金额(tax money)")
+    private java.math.BigDecimal taxMoney;
+	/**佣金(commission)*/
+	@Excel(name = "佣金(commission)", width = 15)
+    @ApiModelProperty(value = "佣金(commission)")
+    private java.math.BigDecimal commission;
+	/**备注(notes)*/
+	@Excel(name = "备注(notes)", width = 15)
+    @ApiModelProperty(value = "备注(notes)")
+    private String notesChild;
+	/**附件(attachs)*/
+	@Excel(name = "附件(attachs)", width = 15)
+    @ApiModelProperty(value = "附件(attachs)")
+    private String attachsChild;
+	/**来源子表*/
+	@Excel(name = "来源子表", width = 15)
+    @ApiModelProperty(value = "来源子表")
+    private String sourceId;
+}

+ 17 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionContractMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.platCode.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.platCode.entity.PlatCommissionContract;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 佣金合同
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface PlatCommissionContractMapper extends BaseMapper<PlatCommissionContract> {
+
+}

+ 31 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionContractProductMapper.java

@@ -0,0 +1,31 @@
+package org.jeecg.modules.platCode.mapper;
+
+import java.util.List;
+import org.jeecg.modules.platCode.entity.PlatCommissionContractProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @Description: 佣金合同-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface PlatCommissionContractProductMapper extends BaseMapper<PlatCommissionContractProduct> {
+
+	/**
+	 * 通过主表id删除子表数据
+	 *
+	 * @param mainId 主表id
+	 * @return boolean
+	 */
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+
+  /**
+   * 通过主表id查询子表数据
+   *
+   * @param mainId 主表id
+   * @return List<PlatCommissionContractProduct>
+   */
+	public List<PlatCommissionContractProduct> selectByMainId(@Param("mainId") String mainId);
+}

+ 17 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionOrderMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.platCode.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 佣金订单
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface PlatCommissionOrderMapper extends BaseMapper<PlatCommissionOrder> {
+
+}

+ 31 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/PlatCommissionOrderProductMapper.java

@@ -0,0 +1,31 @@
+package org.jeecg.modules.platCode.mapper;
+
+import java.util.List;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @Description: 佣金订单-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface PlatCommissionOrderProductMapper extends BaseMapper<PlatCommissionOrderProduct> {
+
+	/**
+	 * 通过主表id删除子表数据
+	 *
+	 * @param mainId 主表id
+	 * @return boolean
+	 */
+	public boolean deleteByMainId(@Param("mainId") String mainId);
+
+  /**
+   * 通过主表id查询子表数据
+   *
+   * @param mainId 主表id
+   * @return List<PlatCommissionOrderProduct>
+   */
+	public List<PlatCommissionOrderProduct> selectByMainId(@Param("mainId") String mainId);
+}

+ 5 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionContractMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.platCode.mapper.PlatCommissionContractMapper">
+
+</mapper>

+ 16 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionContractProductMapper.xml

@@ -0,0 +1,16 @@
+<?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="org.jeecg.modules.platCode.mapper.PlatCommissionContractProductMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  plat_commission_contract_product 
+		WHERE
+			 head_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.platCode.entity.PlatCommissionContractProduct">
+		SELECT * 
+		FROM  plat_commission_contract_product
+		WHERE
+			 head_id = #{mainId} 	</select>
+</mapper>

+ 5 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionOrderMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.platCode.mapper.PlatCommissionOrderMapper">
+
+</mapper>

+ 16 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/mapper/xml/PlatCommissionOrderProductMapper.xml

@@ -0,0 +1,16 @@
+<?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="org.jeecg.modules.platCode.mapper.PlatCommissionOrderProductMapper">
+
+	<delete id="deleteByMainId" parameterType="java.lang.String">
+		DELETE 
+		FROM  plat_commission_order_product 
+		WHERE
+			 head_id = #{mainId} 	</delete>
+	
+	<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct">
+		SELECT * 
+		FROM  plat_commission_order_product
+		WHERE
+			 head_id = #{mainId} 	</select>
+</mapper>

+ 22 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionContractProductService.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.platCode.service;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionContractProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
+/**
+ * @Description: 佣金合同-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface IPlatCommissionContractProductService extends IService<PlatCommissionContractProduct> {
+
+	/**
+	 * 通过主表id查询子表数据
+	 *
+	 * @param mainId 主表id
+	 * @return List<PlatCommissionContractProduct>
+	 */
+	public List<PlatCommissionContractProduct> selectByMainId(String mainId);
+}

+ 48 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionContractService.java

@@ -0,0 +1,48 @@
+package org.jeecg.modules.platCode.service;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionContractProduct;
+import org.jeecg.modules.platCode.entity.PlatCommissionContract;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @Description: 佣金合同
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface IPlatCommissionContractService extends IService<PlatCommissionContract> {
+
+	/**
+	 * 添加一对多
+	 *
+	 * @param platCommissionContract
+	 * @param platCommissionContractProductList
+	 */
+	public void saveMain(PlatCommissionContract platCommissionContract,List<PlatCommissionContractProduct> platCommissionContractProductList) ;
+	
+	/**
+	 * 修改一对多
+	 *
+   * @param platCommissionContract
+   * @param platCommissionContractProductList
+	 */
+	public void updateMain(PlatCommissionContract platCommissionContract,List<PlatCommissionContractProduct> platCommissionContractProductList);
+	
+	/**
+	 * 删除一对多
+	 *
+	 * @param id
+	 */
+	public void delMain (String id);
+	
+	/**
+	 * 批量删除一对多
+	 *
+	 * @param idList
+	 */
+	public void delBatchMain (Collection<? extends Serializable> idList);
+	
+}

+ 22 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionOrderProductService.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.platCode.service;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
+/**
+ * @Description: 佣金订单-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface IPlatCommissionOrderProductService extends IService<PlatCommissionOrderProduct> {
+
+	/**
+	 * 通过主表id查询子表数据
+	 *
+	 * @param mainId 主表id
+	 * @return List<PlatCommissionOrderProduct>
+	 */
+	public List<PlatCommissionOrderProduct> selectByMainId(String mainId);
+}

+ 48 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/IPlatCommissionOrderService.java

@@ -0,0 +1,48 @@
+package org.jeecg.modules.platCode.service;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @Description: 佣金订单
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+public interface IPlatCommissionOrderService extends IService<PlatCommissionOrder> {
+
+	/**
+	 * 添加一对多
+	 *
+	 * @param platCommissionOrder
+	 * @param platCommissionOrderProductList
+	 */
+	public void saveMain(PlatCommissionOrder platCommissionOrder,List<PlatCommissionOrderProduct> platCommissionOrderProductList) ;
+	
+	/**
+	 * 修改一对多
+	 *
+   * @param platCommissionOrder
+   * @param platCommissionOrderProductList
+	 */
+	public void updateMain(PlatCommissionOrder platCommissionOrder,List<PlatCommissionOrderProduct> platCommissionOrderProductList);
+	
+	/**
+	 * 删除一对多
+	 *
+	 * @param id
+	 */
+	public void delMain (String id);
+	
+	/**
+	 * 批量删除一对多
+	 *
+	 * @param idList
+	 */
+	public void delBatchMain (Collection<? extends Serializable> idList);
+	
+}

+ 27 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionContractProductServiceImpl.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.platCode.service.impl;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionContractProduct;
+import org.jeecg.modules.platCode.mapper.PlatCommissionContractProductMapper;
+import org.jeecg.modules.platCode.service.IPlatCommissionContractProductService;
+import org.springframework.stereotype.Service;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @Description: 佣金合同-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@Service
+public class PlatCommissionContractProductServiceImpl extends ServiceImpl<PlatCommissionContractProductMapper, PlatCommissionContractProduct> implements IPlatCommissionContractProductService {
+	
+	@Autowired
+	private PlatCommissionContractProductMapper platCommissionContractProductMapper;
+	
+	@Override
+	public List<PlatCommissionContractProduct> selectByMainId(String mainId) {
+		return platCommissionContractProductMapper.selectByMainId(mainId);
+	}
+}

+ 77 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionContractServiceImpl.java

@@ -0,0 +1,77 @@
+package org.jeecg.modules.platCode.service.impl;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionContract;
+import org.jeecg.modules.platCode.entity.PlatCommissionContractProduct;
+import org.jeecg.modules.platCode.mapper.PlatCommissionContractProductMapper;
+import org.jeecg.modules.platCode.mapper.PlatCommissionContractMapper;
+import org.jeecg.modules.platCode.service.IPlatCommissionContractService;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Collection;
+
+/**
+ * @Description: 佣金合同
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@Service
+public class PlatCommissionContractServiceImpl extends ServiceImpl<PlatCommissionContractMapper, PlatCommissionContract> implements IPlatCommissionContractService {
+
+	@Autowired
+	private PlatCommissionContractMapper platCommissionContractMapper;
+	@Autowired
+	private PlatCommissionContractProductMapper platCommissionContractProductMapper;
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void saveMain(PlatCommissionContract platCommissionContract, List<PlatCommissionContractProduct> platCommissionContractProductList) {
+		platCommissionContractMapper.insert(platCommissionContract);
+		if(platCommissionContractProductList!=null && platCommissionContractProductList.size()>0) {
+			for(PlatCommissionContractProduct entity:platCommissionContractProductList) {
+				//外键设置
+				entity.setHeadId(platCommissionContract.getId());
+				platCommissionContractProductMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateMain(PlatCommissionContract platCommissionContract,List<PlatCommissionContractProduct> platCommissionContractProductList) {
+		platCommissionContractMapper.updateById(platCommissionContract);
+		
+		//1.先删除子表数据
+		platCommissionContractProductMapper.deleteByMainId(platCommissionContract.getId());
+		
+		//2.子表数据重新插入
+		if(platCommissionContractProductList!=null && platCommissionContractProductList.size()>0) {
+			for(PlatCommissionContractProduct entity:platCommissionContractProductList) {
+				//外键设置
+				entity.setHeadId(platCommissionContract.getId());
+				platCommissionContractProductMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void delMain(String id) {
+		platCommissionContractProductMapper.deleteByMainId(id);
+		platCommissionContractMapper.deleteById(id);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void delBatchMain(Collection<? extends Serializable> idList) {
+		for(Serializable id:idList) {
+			platCommissionContractProductMapper.deleteByMainId(id.toString());
+			platCommissionContractMapper.deleteById(id);
+		}
+	}
+	
+}

+ 27 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionOrderProductServiceImpl.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.platCode.service.impl;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct;
+import org.jeecg.modules.platCode.mapper.PlatCommissionOrderProductMapper;
+import org.jeecg.modules.platCode.service.IPlatCommissionOrderProductService;
+import org.springframework.stereotype.Service;
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * @Description: 佣金订单-子表
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@Service
+public class PlatCommissionOrderProductServiceImpl extends ServiceImpl<PlatCommissionOrderProductMapper, PlatCommissionOrderProduct> implements IPlatCommissionOrderProductService {
+	
+	@Autowired
+	private PlatCommissionOrderProductMapper platCommissionOrderProductMapper;
+	
+	@Override
+	public List<PlatCommissionOrderProduct> selectByMainId(String mainId) {
+		return platCommissionOrderProductMapper.selectByMainId(mainId);
+	}
+}

+ 77 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/service/impl/PlatCommissionOrderServiceImpl.java

@@ -0,0 +1,77 @@
+package org.jeecg.modules.platCode.service.impl;
+
+import org.jeecg.modules.platCode.entity.PlatCommissionOrder;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct;
+import org.jeecg.modules.platCode.mapper.PlatCommissionOrderProductMapper;
+import org.jeecg.modules.platCode.mapper.PlatCommissionOrderMapper;
+import org.jeecg.modules.platCode.service.IPlatCommissionOrderService;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Collection;
+
+/**
+ * @Description: 佣金订单
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@Service
+public class PlatCommissionOrderServiceImpl extends ServiceImpl<PlatCommissionOrderMapper, PlatCommissionOrder> implements IPlatCommissionOrderService {
+
+	@Autowired
+	private PlatCommissionOrderMapper platCommissionOrderMapper;
+	@Autowired
+	private PlatCommissionOrderProductMapper platCommissionOrderProductMapper;
+	
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void saveMain(PlatCommissionOrder platCommissionOrder, List<PlatCommissionOrderProduct> platCommissionOrderProductList) {
+		platCommissionOrderMapper.insert(platCommissionOrder);
+		if(platCommissionOrderProductList!=null && platCommissionOrderProductList.size()>0) {
+			for(PlatCommissionOrderProduct entity:platCommissionOrderProductList) {
+				//外键设置
+				entity.setHeadId(platCommissionOrder.getId());
+				platCommissionOrderProductMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateMain(PlatCommissionOrder platCommissionOrder,List<PlatCommissionOrderProduct> platCommissionOrderProductList) {
+		platCommissionOrderMapper.updateById(platCommissionOrder);
+		
+		//1.先删除子表数据
+		platCommissionOrderProductMapper.deleteByMainId(platCommissionOrder.getId());
+		
+		//2.子表数据重新插入
+		if(platCommissionOrderProductList!=null && platCommissionOrderProductList.size()>0) {
+			for(PlatCommissionOrderProduct entity:platCommissionOrderProductList) {
+				//外键设置
+				entity.setHeadId(platCommissionOrder.getId());
+				platCommissionOrderProductMapper.insert(entity);
+			}
+		}
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void delMain(String id) {
+		platCommissionOrderProductMapper.deleteByMainId(id);
+		platCommissionOrderMapper.deleteById(id);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void delBatchMain(Collection<? extends Serializable> idList) {
+		for(Serializable id:idList) {
+			platCommissionOrderProductMapper.deleteByMainId(id.toString());
+			platCommissionOrderMapper.deleteById(id);
+		}
+	}
+	
+}

+ 120 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/vo/PlatCommissionContractPage.java

@@ -0,0 +1,120 @@
+package org.jeecg.modules.platCode.vo;
+
+import java.util.List;
+import org.jeecg.modules.platCode.entity.PlatCommissionContract;
+import org.jeecg.modules.platCode.entity.PlatCommissionContractProduct;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecgframework.poi.excel.annotation.ExcelEntity;
+import org.jeecgframework.poi.excel.annotation.ExcelCollection;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.util.Date;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 佣金合同
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@Data
+@ApiModel(value="plat_commission_contractPage对象", description="佣金合同")
+public class PlatCommissionContractPage {
+
+	/**主键id*/
+	@ApiModelProperty(value = "主键id")
+    private String id;
+	/**创建人*/
+	@ApiModelProperty(value = "创建人")
+    private String createBy;
+	private String sysOrgCode;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+	@ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+	/**状态(1-启用,0-停用)*/
+	@Excel(name = "状态(1-启用,0-停用)", width = 15)
+	@ApiModelProperty(value = "状态(1-启用,0-停用)")
+    private Integer status;
+	/**提交(submit)1是0否*/
+	@Excel(name = "提交(submit)1是0否", width = 15)
+	@ApiModelProperty(value = "提交(submit)1是0否")
+    private String submit;
+	/**关闭(close)1是0否*/
+	@Excel(name = "关闭(close)1是0否", width = 15)
+	@ApiModelProperty(value = "关闭(close)1是0否")
+    private String close;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+	@ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    private Integer delFlag;
+	/**单据日期*/
+	@Excel(name = "单据日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "单据日期")
+    private Date billDate;
+	/**单据编码*/
+	@Excel(name = "单据编码", width = 15)
+	@ApiModelProperty(value = "单据编码")
+    private String billCode;
+	/**供应商(supplier)*/
+	@Excel(name = "供应商(supplier)", width = 15)
+	@ApiModelProperty(value = "供应商(supplier)")
+    private String supplierId;
+	/**供应商名称*/
+	@Excel(name = "供应商名称", width = 15)
+	@ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+	/**币种(currency)*/
+	@Excel(name = "币种(currency)", width = 15)
+	@ApiModelProperty(value = "币种(currency)")
+    private String currency;
+	/**销售部门(sale department)*/
+	@Excel(name = "销售部门(sale department)", width = 15)
+	@ApiModelProperty(value = "销售部门(sale department)")
+    private String saleDepartmen;
+	/**销售部门名称*/
+	@Excel(name = "销售部门名称", width = 15)
+	@ApiModelProperty(value = "销售部门名称")
+    private String saleDepartmenName;
+	/**业务员(salesman)*/
+	@Excel(name = "业务员(salesman)", width = 15)
+	@ApiModelProperty(value = "业务员(salesman)")
+    private String salesman;
+	/**业务员名称*/
+	@Excel(name = "业务员名称", width = 15)
+	@ApiModelProperty(value = "业务员名称")
+    private String salesmanName;
+	/**佣金比例(commission rate)*/
+	@Excel(name = "佣金比例(commission rate)", width = 15)
+	@ApiModelProperty(value = "佣金比例(commission rate)")
+    private java.math.BigDecimal commissionRate;
+	/**备注(notes)*/
+	@Excel(name = "备注(notes)", width = 15)
+	@ApiModelProperty(value = "备注(notes)")
+    private String notes;
+	/**附件(attachs)*/
+	@Excel(name = "附件(attachs)", width = 15)
+	@ApiModelProperty(value = "附件(attachs)")
+    private String attachs;
+
+	@ExcelCollection(name="佣金合同-子表")
+	@ApiModelProperty(value = "佣金合同-子表")
+	private List<PlatCommissionContractProduct> platCommissionContractProductList;
+
+}

+ 148 - 0
srm-module-code/src/main/java/org/jeecg/modules/platCode/vo/PlatCommissionOrderPage.java

@@ -0,0 +1,148 @@
+package org.jeecg.modules.platCode.vo;
+
+import java.util.List;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrder;
+import org.jeecg.modules.platCode.entity.PlatCommissionOrderProduct;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecgframework.poi.excel.annotation.ExcelEntity;
+import org.jeecgframework.poi.excel.annotation.ExcelCollection;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.util.Date;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.constant.ProvinceCityArea;
+import org.jeecg.common.util.SpringContextUtils;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 佣金订单
+ * @Author: jeecg-boot
+ * @Date:   2025-02-12
+ * @Version: V1.0
+ */
+@Data
+@ApiModel(value="plat_commission_orderPage对象", description="佣金订单")
+public class PlatCommissionOrderPage {
+
+	/**主键id*/
+	@ApiModelProperty(value = "主键id")
+    private String id;
+	/**创建人*/
+	@ApiModelProperty(value = "创建人")
+    private String createBy;
+	private String sysOrgCode;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+	@ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+	/**状态(1-启用,0-停用)*/
+	@Excel(name = "状态(1-启用,0-停用)", width = 15)
+	@ApiModelProperty(value = "状态(1-启用,0-停用)")
+    private Integer status;
+	/**提交(submit)1是0否*/
+	@Excel(name = "提交(submit)1是0否", width = 15)
+	@ApiModelProperty(value = "提交(submit)1是0否")
+    private String submit;
+	/**关闭(close)1是0否*/
+	@Excel(name = "关闭(close)1是0否", width = 15)
+	@ApiModelProperty(value = "关闭(close)1是0否")
+    private String close;
+	/**供应商回款(supplier payment)1是0否*/
+	@Excel(name = "供应商回款(supplier payment)1是0否", width = 15)
+	@ApiModelProperty(value = "供应商回款(supplier payment)1是0否")
+    private String supplierPayment;
+	/**开票申请(apply invoice)1是0否*/
+	@Excel(name = "开票申请(apply invoice)1是0否", width = 15)
+	@ApiModelProperty(value = "开票申请(apply invoice)1是0否")
+    private String applyInvoice;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+	@ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    private Integer delFlag;
+	/**单据日期*/
+	@Excel(name = "单据日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@ApiModelProperty(value = "单据日期")
+    private Date billDate;
+	/**单据编码*/
+	@Excel(name = "单据编码", width = 15)
+	@ApiModelProperty(value = "单据编码")
+    private String billCode;
+	/**供应商(supplier)*/
+	@Excel(name = "供应商(supplier)", width = 15)
+	@ApiModelProperty(value = "供应商(supplier)")
+    private String supplierId;
+	/**供应商名称*/
+	@Excel(name = "供应商名称", width = 15)
+	@ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+	/**币种(currency)*/
+	@Excel(name = "币种(currency)", width = 15)
+	@ApiModelProperty(value = "币种(currency)")
+    private String currency;
+	/**客户(customer)*/
+	@Excel(name = "客户(customer)", width = 15)
+	@ApiModelProperty(value = "客户(customer)")
+    private String customerId;
+	/**客户名称*/
+	@Excel(name = "客户名称", width = 15)
+	@ApiModelProperty(value = "客户名称")
+    private String customerName;
+	/**佣金合同(commission contract)*/
+	@Excel(name = "佣金合同(commission contract)", width = 15)
+	@ApiModelProperty(value = "佣金合同(commission contract)")
+    private String commissionContract;
+	/**佣金合同编号*/
+	@Excel(name = "佣金合同编号", width = 15)
+	@ApiModelProperty(value = "佣金合同编号")
+    private String commissionContractCode;
+	/**佣金(commission)*/
+	@Excel(name = "佣金(commission)", width = 15)
+	@ApiModelProperty(value = "佣金(commission)")
+    private java.math.BigDecimal commission;
+	/**销售部门(sale department)*/
+	@Excel(name = "销售部门(sale department)", width = 15)
+	@ApiModelProperty(value = "销售部门(sale department)")
+    private String saleDepartmen;
+	/**销售部门名称*/
+	@Excel(name = "销售部门名称", width = 15)
+	@ApiModelProperty(value = "销售部门名称")
+    private String saleDepartmenName;
+	/**业务员(salesman)*/
+	@Excel(name = "业务员(salesman)", width = 15)
+	@ApiModelProperty(value = "业务员(salesman)")
+    private String salesman;
+	/**业务员名称*/
+	@Excel(name = "业务员名称", width = 15)
+	@ApiModelProperty(value = "业务员名称")
+    private String salesmanName;
+	/**佣金比例(commission rate)*/
+	@Excel(name = "佣金比例(commission rate)", width = 15)
+	@ApiModelProperty(value = "佣金比例(commission rate)")
+    private java.math.BigDecimal commissionRate;
+	/**备注(notes)*/
+	@Excel(name = "备注(notes)", width = 15)
+	@ApiModelProperty(value = "备注(notes)")
+    private String notes;
+	/**附件(attachs)*/
+	@Excel(name = "附件(attachs)", width = 15)
+	@ApiModelProperty(value = "附件(attachs)")
+    private String attachs;
+
+	@ExcelCollection(name="佣金订单-子表")
+	@ApiModelProperty(value = "佣金订单-子表")
+	private List<PlatCommissionOrderProduct> platCommissionOrderProductList;
+
+}

+ 1 - 1
srm-module-code/src/main/java/org/jeecg/modules/saleCode/controller/SaleOrderController.java

@@ -1061,7 +1061,7 @@ public class SaleOrderController {
                 saleOrder.setBillDateText(DateUtils.date2Str(saleOrder.getBillDate(), DateUtils.date_sdf.get()));
                 if (oConvertUtils.isNotEmpty(saleOrder.getDoubleDiscount())) {
                     saleOrder.setDiscountText(saleOrder.getDoubleDiscount().intValue() + "%");
-                    saleOrder.setDiscountMoney(orderMoney.subtract(new BigDecimal(saleOrder.getConvertedAmount())).setScale(2));
+                    saleOrder.setDiscountMoney(orderMoney.subtract(saleOrder.getConvertedAmount()).setScale(2));
                 }
 
                 // 制单人信息

+ 1 - 1
srm-module-code/src/main/java/org/jeecg/modules/saleCode/entity/SaleOrder.java

@@ -228,7 +228,7 @@ public class SaleOrder implements Serializable {
 	/**折后金额(converted amount)*/
 	@Excel(name = "折后金额(converted amount)", width = 15)
     @ApiModelProperty(value = "折后金额(converted amount)")
-    private String convertedAmount;
+    private BigDecimal convertedAmount;
 	/**质保条款(warranty terms)*/
 	@Excel(name = "质保条款(warranty terms)", width = 15)
     @ApiModelProperty(value = "质保条款(warranty terms)")

+ 2 - 1
srm-module-code/src/main/java/org/jeecg/modules/saleCode/entity/SaleOrderHis.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.saleCode.entity;
 
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
 import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -230,7 +231,7 @@ public class SaleOrderHis implements Serializable {
 	/**折后金额(converted amount)*/
 	@Excel(name = "折后金额(converted amount)", width = 15)
     @ApiModelProperty(value = "折后金额(converted amount)")
-    private String convertedAmount;
+    private BigDecimal convertedAmount;
 	/**质保条款(warranty terms)*/
 	@Excel(name = "质保条款(warranty terms)", width = 15)
     @ApiModelProperty(value = "质保条款(warranty terms)")

+ 2 - 0
srm-module-code/src/main/java/org/jeecg/modules/saleCode/service/impl/SaleDeliveryServiceImpl.java

@@ -56,6 +56,7 @@ public class SaleDeliveryServiceImpl extends ServiceImpl<SaleDeliveryMapper, Sal
                 entity.setId(null);
                 //外键设置
                 entity.setHeadId(saleDelivery.getId());
+                entity.setDeliveryQuantity(BigDecimal.ZERO);
                 saleDeliveryDetailsMapper.insert(entity);
 
 
@@ -136,6 +137,7 @@ public class SaleDeliveryServiceImpl extends ServiceImpl<SaleDeliveryMapper, Sal
             for (SaleDeliveryDetails entity : saleDeliveryDetailsList) {
                 entity.setId(null);
                 //外键设置
+                entity.setDeliveryQuantity(BigDecimal.ZERO);
                 entity.setHeadId(saleDelivery.getId());
                 saleDeliveryDetailsMapper.insert(entity);
 

+ 12 - 4
srm-module-code/src/main/java/org/jeecg/modules/saleCode/service/impl/SaleOrderServiceImpl.java

@@ -60,14 +60,17 @@ public class SaleOrderServiceImpl extends ServiceImpl<SaleOrderMapper, SaleOrder
 		}
 
 		BigDecimal discountedAmount = BigDecimal.ZERO;
+		BigDecimal taxAmount = BigDecimal.ZERO;
 		if(saleOrderProductList!=null && saleOrderProductList.size()>0) {
 			for(SaleOrderProduct entity:saleOrderProductList) {
 				BigDecimal getDiscountedAmount = entity.getDiscountedAmount() == null ?BigDecimal.ZERO :entity.getDiscountedAmount();
+				BigDecimal getTaxAmount = entity.getTaxAmount() == null ?BigDecimal.ZERO :entity.getTaxAmount();
 				discountedAmount = discountedAmount.add(getDiscountedAmount);
-
+				taxAmount = taxAmount.add(getTaxAmount);
 			}
 		}
-		saleOrder.setOrderMoney(discountedAmount);
+		saleOrder.setOrderMoney(taxAmount);
+		saleOrder.setConvertedAmount(discountedAmount);
 
 		saleOrderMapper.insert(saleOrder);
 		if(saleOrderShipList!=null && saleOrderShipList.size()>0) {
@@ -109,15 +112,20 @@ public class SaleOrderServiceImpl extends ServiceImpl<SaleOrderMapper, SaleOrder
 			saleOrder.setShipName(names);
 		}
 
+
 		BigDecimal discountedAmount = BigDecimal.ZERO;
+		BigDecimal taxAmount = BigDecimal.ZERO;
 		if(saleOrderProductList!=null && saleOrderProductList.size()>0) {
 			for(SaleOrderProduct entity:saleOrderProductList) {
 				BigDecimal getDiscountedAmount = entity.getDiscountedAmount() == null ?BigDecimal.ZERO :entity.getDiscountedAmount();
+				BigDecimal getTaxAmount = entity.getTaxAmount() == null ?BigDecimal.ZERO :entity.getTaxAmount();
 				discountedAmount = discountedAmount.add(getDiscountedAmount);
-
+				taxAmount = taxAmount.add(getTaxAmount);
 			}
 		}
-		saleOrder.setOrderMoney(discountedAmount);
+		saleOrder.setOrderMoney(taxAmount);
+		saleOrder.setConvertedAmount(discountedAmount);
+
 
 		saleOrderMapper.updateById(saleOrder);
 		

+ 1 - 1
srm-module-code/src/main/java/org/jeecg/modules/saleCode/vo/SaleOrderAlert.java

@@ -219,7 +219,7 @@ public class SaleOrderAlert implements Serializable {
 	/**折后金额(converted amount)*/
 	@Excel(name = "折后金额(converted amount)", width = 15)
     @ApiModelProperty(value = "折后金额(converted amount)")
-    private String convertedAmount;
+    private BigDecimal convertedAmount;
 	/**质保条款(warranty terms)*/
 	@Excel(name = "质保条款(warranty terms)", width = 15)
     @ApiModelProperty(value = "质保条款(warranty terms)")

+ 2 - 1
srm-module-code/src/main/java/org/jeecg/modules/saleCode/vo/SaleOrderHisPage.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.saleCode.vo;
 
+import java.math.BigDecimal;
 import java.util.List;
 import org.jeecg.modules.saleCode.entity.SaleOrderHis;
 import org.jeecg.modules.saleCode.entity.SaleOrderShipHis;
@@ -226,7 +227,7 @@ public class SaleOrderHisPage {
 	/**折后金额(converted amount)*/
 	@Excel(name = "折后金额(converted amount)", width = 15)
 	@ApiModelProperty(value = "折后金额(converted amount)")
-    private String convertedAmount;
+    private BigDecimal convertedAmount;
 	/**质保条款(warranty terms)*/
 	@Excel(name = "质保条款(warranty terms)", width = 15)
 	@ApiModelProperty(value = "质保条款(warranty terms)")

+ 2 - 1
srm-module-code/src/main/java/org/jeecg/modules/saleCode/vo/SaleOrderPage.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.saleCode.vo;
 
+import java.math.BigDecimal;
 import java.util.List;
 import org.jeecg.modules.saleCode.entity.SaleOrder;
 import org.jeecg.modules.saleCode.entity.SaleOrderShip;
@@ -226,7 +227,7 @@ public class SaleOrderPage {
 	/**折后金额(converted amount)*/
 	@Excel(name = "折后金额(converted amount)", width = 15)
 	@ApiModelProperty(value = "折后金额(converted amount)")
-    private String convertedAmount;
+    private BigDecimal convertedAmount;
 	/**质保条款(warranty terms)*/
 	@Excel(name = "质保条款(warranty terms)", width = 15)
 	@ApiModelProperty(value = "质保条款(warranty terms)")