| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642 |
- package com.ydtech.modules.esm.controller;
- import com.ydtech.core.page.BaseController;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.core.page.PageResult;
- import com.ydtech.modules.admin.model.SysUser;
- import com.ydtech.modules.esm.model.*;
- import com.ydtech.modules.esm.service.*;
- import com.ydtech.utils.idgen.IdGenerate;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.*;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- @RestController
- @RequestMapping("esmAgreementCheck")
- public class EsmAgreementCheckController extends BaseController {
- @Autowired
- EsmAgreementCheckService esmAgreementCheckService;
- @Autowired
- EsmAgreementProdCheckService esmAgreementProdCheckService;
- @Autowired
- EsmAgreementProdfeeCheckService esmAgreementProdfeeCheckService;
- @Autowired
- EsmAgreementService esmAgreementService;
- @Autowired
- EsmAgreementProdService esmAgreementProdService;
- @Autowired
- EsmAgreementProdfeeService esmAgreementProdfeeService;
- @Autowired
- EsmInsCompanyService esmInsCompanyService;
- @Autowired
- EsmAgreementTeamfeeCheckService esmAgreementTeamfeeCheckService;
- @Autowired
- EsmAgreementTeamfeeService esmAgreementTeamfeeService;
- @Autowired
- EsmAgreementCheckhistoryService esmAgreementCheckhistoryService;
- /**
- * 保存协议信息
- *
- * @param record
- * @return
- */
- @PostMapping(value = "/saveAgreementCheck")
- public HttpResult save(@RequestBody EsmAgreementCheck record) {
- Integer result = 0;
- String msg = "保存成功";
- if (StringUtils.isEmpty(record.getId())) { // 协议新增
- // record.setAgreestatus("1");
- //生成临时表主键 checkid
- String checkid = String.valueOf(new Date().getTime());
- String id = IdGenerate.nextId();
- record.setCheckid(checkid);
- record.setId(id);
- record.setAgreestatus("0"); //提交审核
- record.setCreator(getUserName());
- record.setCreatetime(new Date());
- record.setUpdateby(getUserName());
- record.setUpdatetime(new Date());
- result = esmAgreementCheckService.insertSelective(record);
- List<EsmAgreementProdCheck> list = record.getAgreementProds();
- for (EsmAgreementProdCheck prod : list) {
- prod.setId(IdGenerate.nextId());
- prod.setCheckid(checkid);
- prod.setAgreeid(id);
- esmAgreementProdCheckService.insertSelective(prod);
- }
- } else if (StringUtils.isEmpty(record.getCheckid())) { //协议修改,新增记录
- //生成临时表主键 checkid
- // String checkid = String.valueOf(new Date().getTime());
- // record.setCheckid(checkid);
- // record.setAgreestatus("0"); //提交审核
- // record.setCreator(getUserName());
- // record.setCreatetime(new Date());
- // record.setUpdateby(getUserName());
- // record.setUpdatetime(new Date());
- // result = esmAgreementCheckService.insertSelective(record);
- //
- // List<EsmAgreementProdCheck> list = record.getAgreementProds();
- // for(EsmAgreementProdCheck prod : list){
- // prod.setCheckid(checkid);
- // esmAgreementProdCheckService.insertSelective(prod);
- // }
- } else { // 审核退回
- record.setAgreestatus("0"); //提交审核
- record.setCreator(null);
- record.setUpdateby(getUserName());
- record.setUpdatetime(new Date());
- result = esmAgreementCheckService.updateSelective(record);
- List<EsmAgreementProdCheck> list = record.getAgreementProds();
- for (EsmAgreementProdCheck prod : list) {
- esmAgreementProdCheckService.updateSelective(prod);
- }
- }
- return HttpResult.ok(msg, result);
- }
- /**
- * 修改协议信息
- *
- * @param record
- * @return
- */
- @PostMapping(value = "/updateAgreementCheck")
- public HttpResult update(@RequestBody EsmAgreementCheck record) {
- Integer result = 0;
- String msg = "保存成功";
- if (!StringUtils.isEmpty(record.getId()) && !StringUtils.isEmpty(record.getCheckid())) {
- //生成临时表主键 checkid
- String checkid = record.getCheckid();
- record.setCheckid(checkid);
- record.setAgreestatus("0"); //提交审核
- record.setCreator(getUserName());
- record.setCreatetime(new Date());
- record.setUpdateby(getUserName());
- record.setUpdatetime(new Date());
- result = esmAgreementCheckService.update(record);
- List<EsmAgreementProdCheck> list = record.getAgreementProds();
- for (EsmAgreementProdCheck prod : list) {
- prod.setCheckid(checkid);
- esmAgreementProdCheckService.update(prod);
- }
- //设置管理费用信息
- List<EsmAgreementProdfeeCheck> prodfees = record.getProdfees();
- for (EsmAgreementProdfeeCheck prodfee : prodfees) {
- prodfee.setCheckid(checkid);
- prodfee.setFeestatus("0");
- prodfee.setCreator(getUserName());
- prodfee.setCreatetime(new Date());
- prodfee.setUpdateby(getUserName());
- prodfee.setUpdatetime(new Date());
- result = esmAgreementProdfeeCheckService.update(prodfee);
- }
- }
- return HttpResult.ok(msg, result);
- }
- /**
- * 保存协议费用信息
- *
- * @param record
- * @return
- */
- @PostMapping(value = "/saveProdFeeCheck")
- public HttpResult saveProdFee(@RequestBody EsmAgreementCheck record) {
- Integer result = 0;
- String msg = "保存成功";
- String checkid = String.valueOf(new Date().getTime());
- List<EsmAgreementProdCheck> list = record.getAgreementProds();
- // String agreeid = "";
- for (EsmAgreementProdCheck prod : list) {
- prod.setCheckid(checkid);
- result = esmAgreementProdCheckService.insertSelective(prod);//设置产品佣金信息
- // agreeid = prod.getAgreeid();
- }
- //设置管理费用信息
- List<EsmAgreementProdfeeCheck> prodfees = record.getProdfees();
- for (EsmAgreementProdfeeCheck prodfee : prodfees) {
- prodfee.setCheckid(checkid);
- prodfee.setId(IdGenerate.nextId());
- prodfee.setFeestatus("0");
- prodfee.setCreator(getUserName());
- prodfee.setCreatetime(new Date());
- prodfee.setUpdateby(getUserName());
- prodfee.setUpdatetime(new Date());
- result = esmAgreementProdfeeCheckService.insertSelective(prodfee);
- }
- return HttpResult.ok(msg, result);
- }
- /**
- * 待审核的协议费用信息
- *
- * @param pageRequest
- * @return
- */
- @PostMapping(value = "/prodfeePage")
- public HttpResult prodfeePage(@RequestBody PageRequest pageRequest) {
- int pageNum = pageRequest.getPageNum();
- int pageSize = pageRequest.getPageSize();
- // String comcode = pageRequest.getColumnFilterValue(pageRequest, "comcode"); // 所属机构
- String status = pageRequest.getColumnFilterValue(pageRequest, "status"); // 协议状态
- // StringBuffer whereStr = new StringBuffer(" where 1=1");
- // ArrayList array = new ArrayList();
- List<EsmAgreementCheck> agreeList = new ArrayList<EsmAgreementCheck>();
- //需要处理传入的部门
- List<String> idList = esmAgreementProdfeeCheckService.queryProdfees(status);
- int minNum = pageSize * (pageNum - 1);
- int maxNum = pageSize * pageNum;
- if (1 == pageNum) {
- maxNum = idList.size() > maxNum ? maxNum : idList.size();
- } else {
- maxNum = idList.size() > maxNum ? maxNum : idList.size();
- }
- for (int i = minNum; i < maxNum; i++) {
- String checkid = idList.get(i);
- EsmAgreementCheck agreementCheck = new EsmAgreementCheck();
- //产品信息
- List<EsmAgreementProdCheck> prodList = esmAgreementProdCheckService.selectList(" where checkid=?", new Object[]{checkid});
- ///协议信息
- String agreeid = prodList.get(0).getAgreeid();
- EsmAgreement agreement = esmAgreementService.selectByPk(agreeid);
- if (agreement != null) BeanUtils.copyProperties(agreement, agreementCheck);
- agreementCheck.setCheckid(checkid);
- agreementCheck.setAgreementProds(prodList);
- //费用信息
- List<EsmAgreementProdfeeCheck> feeList = esmAgreementProdfeeCheckService.selectList(" where checkid=?", new Object[]{checkid});
- agreementCheck.setProdfees(feeList);
- agreeList.add(agreementCheck);
- }
- PageResult pageResult = new PageResult();
- pageResult.setPageNum(pageNum);
- pageResult.setPageSize(pageSize);
- pageResult.setTotalSize(idList.size());
- double value = idList.size() / pageSize;
- double totalpage = Math.floor(value);
- pageResult.setTotalPages((int) totalpage + 1);
- pageResult.setContent(agreeList);
- return HttpResult.ok(pageResult);
- }
- @ApiOperation("费用审核 传入checkid和审核状态: 0 申请审核 1 审核通过 2 审核不通过")
- @GetMapping(value = "/feecheck")
- public HttpResult feecheck(@RequestParam String checkid, @RequestParam String status, String remark) {
- Integer result = 0;
- String msg = "保存成功";
- if (StringUtils.isEmpty(checkid)) {
- return HttpResult.error("checkid不能为空");
- }
- //更新协议状态
- // EsmAgreementCheck agreementCheck = esmAgreementCheckService.selectByPk(checkid);
- // if (agreementCheck == null) {
- // msg = "协议不存在";
- // return HttpResult.ok(msg, result);
- // }
- // agreementCheck.setAgreestatus(status);
- // esmAgreementCheckService.updateSelective(agreementCheck);
- //保存审批意见
- EsmAgreementCheckhistory checkhis = new EsmAgreementCheckhistory();
- checkhis.setId(IdGenerate.nextId());
- checkhis.setCheckid(checkid);
- checkhis.setAgreeid("");
- checkhis.setStatus(status);
- checkhis.setRemark(remark);
- checkhis.setCheckname(getUserName());
- checkhis.setChecktime(new Date());
- result = esmAgreementCheckhistoryService.insert(checkhis);
- if ("1".equals(status)) {
- List<String> idList = new ArrayList<>();
- List<EsmAgreementProdCheck> prodList = esmAgreementProdCheckService.selectList(" where checkid=?", new Object[]{checkid});
- String agreeid = prodList.get(0).getAgreeid();
- esmAgreementProdService.delete(agreeid);
- for (EsmAgreementProdCheck prodCheck : prodList) {
- EsmAgreementProd prod = new EsmAgreementProd();
- BeanUtils.copyProperties(prodCheck, prod);
- esmAgreementProdService.insertSelective(prod);
- idList.add(prodCheck.getId());
- }
- //根据产品id删除费用信息表
- esmAgreementProdfeeService.delete(idList);
- List<EsmAgreementProdfeeCheck> feeList = esmAgreementProdfeeCheckService.selectList(" where checkid=?", new Object[]{checkid});
- for (EsmAgreementProdfeeCheck fee : feeList) {
- fee.setFeestatus("1");
- esmAgreementProdfeeCheckService.updateSelective(fee);
- EsmAgreementProdfee prodfee = new EsmAgreementProdfee();
- BeanUtils.copyProperties(fee, prodfee);
- esmAgreementProdfeeService.insertSelective(prodfee);
- }
- } else {
- List<EsmAgreementProdfeeCheck> feeList = esmAgreementProdfeeCheckService.selectList(" where checkid=?", new Object[]{checkid});
- for (EsmAgreementProdfeeCheck fee : feeList) {
- fee.setFeestatus(status);
- esmAgreementProdfeeCheckService.updateSelective(fee);
- }
- }
- return HttpResult.ok(msg, result);
- }
- /**
- * 根据主键查询费用信息
- *
- * @param checkid
- * @return
- */
- @GetMapping(value = "/findFeeById")
- public HttpResult findFeeById(@RequestParam String checkid) {
- EsmAgreementCheck agreementCheck = new EsmAgreementCheck();
- //产品信息
- List<EsmAgreementProdCheck> prodList = esmAgreementProdCheckService.selectList(" where checkid=?", new Object[]{checkid});
- ///协议信息
- String agreeid = prodList.get(0).getAgreeid();
- EsmAgreement agreement = esmAgreementService.selectByPk(agreeid);
- BeanUtils.copyProperties(agreement, agreementCheck);
- agreementCheck.setCheckid(checkid);
- agreementCheck.setAgreementProds(prodList);
- //费用信息
- List<EsmAgreementProdfeeCheck> feeList = esmAgreementProdfeeCheckService.selectList(" where checkid=?", new Object[]{checkid});
- agreementCheck.setProdfees(feeList);
- //最新的审核意见
- List<EsmAgreementCheckhistory> checkList = esmAgreementCheckhistoryService.selectList(" where checkid=? order by checktime desc", new Object[]{checkid});
- if (checkList.size() > 0) {
- agreementCheck.setRemark(checkList.get(0).getRemark());
- }
- return HttpResult.ok(agreementCheck);
- }
- /**
- * 保存团队费用信息
- *
- * @param record
- * @return
- */
- @PostMapping(value = "/saveTeamFee")
- public HttpResult saveTeamFee(@RequestBody List<EsmAgreementTeamfee> record) {
- Integer result = 0;
- String msg = "保存成功";
- for (EsmAgreementTeamfee teamFee : record) {
- if (teamFee.getId() == null || teamFee.getId().isEmpty()) {
- teamFee.setId(IdGenerate.nextId());
- teamFee.setCreator(getUserName());
- teamFee.setCreatetime(new Date());
- teamFee.setUpdateby(getUserName());
- teamFee.setUpdatetime(new Date());
- result = esmAgreementTeamfeeService.insertSelective(teamFee);//设置团队佣金信息
- } else {
- teamFee.setUpdateby(getUserName());
- teamFee.setUpdatetime(new Date());
- result = esmAgreementTeamfeeService.updateSelective(teamFee);
- }
- }
- return HttpResult.ok(msg, result);
- }
- // /**
- // * 查询协议团队费用信息
- // * @param teamcode
- // * @param agreeid
- // * @return
- // */
- // @PostMapping(value="/queryTeamFee")
- // public HttpResult queryTeamFee(@RequestParam String teamcode, @RequestParam String agreeid) {
- // StringBuffer whereStr = new StringBuffer(" where 1=1 ");
- // if(teamcode == null) teamcode = "";
- // whereStr.append(" and teamcode = ?");
- // whereStr.append(" and agreeid = ?");
- // //传入查询条件
- // List<EsmAgreementTeamfee> selectList =esmAgreementTeamfeeService.selectList(whereStr.toString(), new Object[]{teamcode,agreeid});
- // return HttpResult.ok(selectList);
- // }
- // /**
- // * 查询团队所属机构相匹配的协议(协议授权机构包含团队机构)
- // * @param comcode
- // * @return
- // */
- // @PostMapping(value="/queryAuthAgreement")
- // public HttpResult queryAuthAgreement(@RequestParam String comcode){
- // StringBuffer whereStr = new StringBuffer(" where 1=1 ");
- // if(comcode == null) comcode = "99";
- // whereStr.append(" and t.id in (SELECT a.agreeid FROM esm_agreement_prod a where a.authcomcode=left(?,length(a.authcomcode)))");
- // //传入查询条件
- // List<EsmAgreement> selectList =esmAgreementService.selectList(whereStr.toString(), new Object[]{comcode});
- // return HttpResult.ok(selectList);
- // }
- /**
- * 基础分页查询
- *
- * @param pageRequest
- * @return
- */
- @PostMapping(value = "/findPage")
- public HttpResult findPage(@RequestBody PageRequest pageRequest) {
- // return HttpResult.ok(esmTeamService.findPage(pageRequest));
- int pageNum = pageRequest.getPageNum();
- int pageSize = pageRequest.getPageSize();
- String comcode = pageRequest.getColumnFilterValue(pageRequest, "comcode"); // 所属机构
- String inscode = pageRequest.getColumnFilterValue(pageRequest, "inscode"); // 保险公司
- String insshortcode = pageRequest.getColumnFilterValue(pageRequest, "insshortcode"); // 保险公司简称
- String startdate = pageRequest.getColumnFilterValue(pageRequest, "startdate"); // 开始时间
- String enddate = pageRequest.getColumnFilterValue(pageRequest, "enddate"); // 截止时间
- String status = pageRequest.getColumnFilterValue(pageRequest, "status"); // 协议状态
- String productid = pageRequest.getColumnFilterValue(pageRequest, "productid"); // 产品代码
- String cancity = pageRequest.getColumnFilterValue(pageRequest, "cancity"); // 可承保城市
- StringBuffer whereStr = new StringBuffer(" where 1=1");
- ArrayList array = new ArrayList();
- if (!StringUtils.isEmpty(comcode)) {
- whereStr.append(" and comcode like ?");
- array.add("%" + comcode + "%");
- }
- if (!StringUtils.isEmpty(status)) {
- whereStr.append(" and agreestatus=?");
- array.add(status);
- }
- /*if(comcode != null && comcode.length()>0){
- whereStr.append(" and comcode=?");
- array.add(comcode);
- }
- if(inscode != null && inscode.length()>0){
- whereStr.append(" and (insure1=? or insure2=? or insure3=? or insure4=?)");
- array.add(inscode);
- array.add(inscode);
- array.add(inscode);
- array.add(inscode);
- }
- if(insshortcode != null && insshortcode.length()>0){
- whereStr.append(" and insureshort=?");
- array.add(insshortcode);
- }
- if(status != null && status.length()>0){
- //99 时查全部失效协议
- if(status.indexOf("99")>=0 && status.length()==2){
- whereStr.append(" and (current_date > t.enddate or current_date < t.startdate)");
- }else if(status.indexOf("99")>=0 && status.length()>2){
- // whereStr.append(" and agreestatus in (?) and (current_date > t.enddate or current_date < t.startdate)");
- // array.add(status);
- String[] list = status.split(",");
- whereStr.append(" and agreestatus in (");
- for(String s : list){
- whereStr.append("?,");
- array.add(s);
- }
- whereStr.deleteCharAt(whereStr.length()-1);
- whereStr.append(") and (current_date > t.enddate or current_date < t.startdate)");
- }else{
- //else if(status.indexOf("99")<0){
- String[] list = status.split(",");
- whereStr.append(" and agreestatus in (");
- for(String s : list){
- whereStr.append("?,");
- array.add(s);
- }
- whereStr.deleteCharAt(whereStr.length()-1);
- whereStr.append(") and current_date between t.startdate and t.enddate");
- }
- }
- if(startdate != null && startdate.length()>0){
- whereStr.append(" and DATE_FORMAT(createtime, '%Y-%m-%d') >= date ?");
- array.add(startdate);
- }
- if(enddate != null && enddate.length()>0){
- whereStr.append(" and DATE_FORMAT(createtime, '%Y-%m-%d') <= date ?");
- array.add(enddate);
- }
- if(productid != null && productid.length()>0){
- whereStr.append(" and exists(select 1 from esm_agreement_prod t1 where t1.agreeid=t.id and t1.productid=?)");
- array.add(productid);
- }
- if(cancity != null && cancity.length()>0){
- whereStr.append(" and exists(select 1 from esm_agreement_prod t1 where t1.agreeid=t.id and t1.cancity like ?)");
- array.add("%" +cancity+ "%");
- }*/
- //需要处理传入的部门
- PageResult pageResult = esmAgreementCheckService.selectPaging(pageNum, pageSize, whereStr.toString(), array.toArray());
- List list = pageResult.getContent();
- List<EsmAgreementCheck> agreeList = new ArrayList<EsmAgreementCheck>();
- for (Object obj : list) {
- EsmAgreementCheck agreement = (EsmAgreementCheck) obj;
- List<EsmAgreementProdCheck> prodList = esmAgreementProdCheckService.selectList(" where checkid=?", new Object[]{agreement.getCheckid()});
- agreement.setAgreementProds(prodList);
- List<EsmAgreementProdfeeCheck> feeList = new ArrayList<EsmAgreementProdfeeCheck>();
- for (EsmAgreementProdCheck prod : prodList) {
- List<EsmAgreementProdfeeCheck> prodfees = esmAgreementProdfeeCheckService.selectList(" where agreeprodid=?", new Object[]{prod.getId()});
- feeList.addAll(prodfees);
- }
- agreement.setProdfees(feeList);
- agreeList.add(agreement);
- }
- pageResult.setContent(agreeList);
- return HttpResult.ok(pageResult);
- }
- /**
- * 根据主键查询
- *
- * @param checkid
- * @return
- */
- @GetMapping(value = "/findById")
- public HttpResult findById(@RequestParam String checkid) {
- EsmAgreementCheck agreement = esmAgreementCheckService.selectByPk(checkid);
- List<EsmAgreementProdCheck> prodList = esmAgreementProdCheckService.selectList(" where checkid=?", new Object[]{checkid});
- // List<EsmAgreementProdfeeCheck> feeList = new ArrayList<EsmAgreementProdfeeCheck>();
- List<EsmAgreementProdfeeCheck> prodfees = esmAgreementProdfeeCheckService.selectList(" where checkid=?", new Object[]{checkid});
- agreement.setAgreementProds(prodList);
- agreement.setProdfees(prodfees);
- //最新的审核意见
- List<EsmAgreementCheckhistory> checkList = esmAgreementCheckhistoryService.selectList(" where checkid=? order by checktime desc", new Object[]{checkid});
- if (checkList.size() > 0) {
- agreement.setRemark(checkList.get(0).getRemark());
- }
- return HttpResult.ok(agreement);
- }
- // /**
- // * 删除协议
- // * @param id
- // * @return
- // */
- // @PostMapping(value="/deleteAgreement")
- // public HttpResult delete(@RequestParam String id) {
- // Integer result = 0;
- // String msg = "删除成功";
- //
- // if(id != null && id.length()>0){
- //
- // result = esmAgreementService.delete(id);
- // //删除协议产品信息
- // List<EsmAgreementProd> prodList = esmAgreementProdService.selectList(" where agreeid=?",new Object[]{id});
- // List<String> idList = new ArrayList<>();
- // for(EsmAgreementProd prod:prodList){
- // idList.add(prod.getId());
- // }
- // result = esmAgreementProdService.delete(id);
- // //删除产品费用信息
- // result = esmAgreementProdfeeService.delete(idList);
- //
- // } else {
- // msg = "id能为空";
- // return HttpResult.ok(msg, result);
- // }
- //
- // return HttpResult.ok(msg, result);
- // }
- @ApiOperation("协议审核 传入协议id和审核状态: 0 申请审核 1 审核通过 2 审核不通过")
- @GetMapping(value = "/check")
- public HttpResult check(@RequestParam String checkid, @RequestParam String status, String remark) {
- Integer result = 0;
- String msg = "保存成功";
- if (StringUtils.isEmpty(checkid)) {
- return HttpResult.error("checkid不能为空");
- }
- //更新协议状态
- EsmAgreementCheck agreementCheck = esmAgreementCheckService.selectByPk(checkid);
- if (agreementCheck == null) {
- msg = "协议不存在";
- return HttpResult.ok(msg, result);
- }
- agreementCheck.setAgreestatus(status);
- esmAgreementCheckService.updateSelective(agreementCheck);
- //保存审批意见
- EsmAgreementCheckhistory checkhis = new EsmAgreementCheckhistory();
- checkhis.setId(IdGenerate.nextId());
- checkhis.setCheckid(checkid);
- checkhis.setAgreeid(agreementCheck.getId());
- checkhis.setStatus(status);
- checkhis.setRemark(remark);
- checkhis.setCheckname(getUserName());
- checkhis.setChecktime(new Date());
- result = esmAgreementCheckhistoryService.insert(checkhis);
- if ("1".equals(status)) {
- List<EsmAgreement> list = esmAgreementService.selectList(" where id=?", new Object[]{agreementCheck.getId()});
- if (list != null && list.size() > 0) { //修改审核
- EsmAgreement agreement = list.get(0);
- BeanUtils.copyProperties(agreementCheck, agreement);
- esmAgreementService.updateSelective(agreement);
- esmAgreementProdService.delete(agreementCheck.getId());
- List<String> idList = new ArrayList<>();
- List<EsmAgreementProdCheck> prodList = esmAgreementProdCheckService.selectList(" where checkid=?", new Object[]{checkid});
- for (EsmAgreementProdCheck prodCheck : prodList) {
- EsmAgreementProd prod = new EsmAgreementProd();
- BeanUtils.copyProperties(prodCheck, prod);
- esmAgreementProdService.insertSelective(prod);
- idList.add(prodCheck.getId());
- }
- //根据产品id删除费用信息表
- esmAgreementProdfeeService.delete(idList);
- List<EsmAgreementProdfeeCheck> feeList = esmAgreementProdfeeCheckService.selectList(" where checkid=?", new Object[]{checkid});
- for (EsmAgreementProdfeeCheck fee : feeList) {
- fee.setFeestatus("1");
- esmAgreementProdfeeCheckService.updateSelective(fee);
- EsmAgreementProdfee prodfee = new EsmAgreementProdfee();
- BeanUtils.copyProperties(fee, prodfee);
- esmAgreementProdfeeService.insertSelective(prodfee);
- }
- } else { // 新增审核
- EsmAgreement agreement = new EsmAgreement();
- BeanUtils.copyProperties(agreementCheck, agreement);
- esmAgreementService.insertSelective(agreement);
- List<EsmAgreementProdCheck> prodList = esmAgreementProdCheckService.selectList(" where checkid=?", new Object[]{checkid});
- for (EsmAgreementProdCheck prodCheck : prodList) {
- EsmAgreementProd prod = new EsmAgreementProd();
- BeanUtils.copyProperties(prodCheck, prod);
- esmAgreementProdService.insertSelective(prod);
- }
- }
- }
- return HttpResult.ok(msg, result);
- }
- }
|