package cn.com.lzt.contractp.controller; import cn.com.lzt.contractinvoice.entity.ContractInvoiceEntity; import cn.com.lzt.contractp.entity.ContractPEntity; import cn.com.lzt.contractp.page.ContractPPage; import cn.com.lzt.contractp.service.ContractPServiceI; import cn.com.lzt.contractpayment.entity.ContractPaymentEntity; import cn.com.lzt.contractpitem.entity.ContractPItemEntity; import cn.com.lzt.contractppayrule.entity.ContractPPayruleEntity; import cn.com.lzt.relatedunits.entity.RelatedUnitsEntity; import cn.com.lzt.tools.DecimalUtils; import cn.com.lzt.workflow.service.WorkflowServiceI; import com.xcgl.utils.OrderNumTools; import org.apache.commons.lang.xwork.StringUtils; import org.apache.log4j.Logger; import org.jeecgframework.core.beanvalidator.BeanValidators; import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.exception.BusinessException; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.*; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.tag.vo.datatable.SortDirection; import org.jeecgframework.web.system.pojo.base.TSDepart; import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.workflow.common.WorkFlowGlobals; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.util.UriComponentsBuilder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.ConstraintViolation; import javax.validation.Validator; import java.io.IOException; import java.net.URI; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; /** * @Title: Controller * @Description: 物料采购合同 * @author onlineGenerator * @date 2019-03-25 12:00:32 * @version V1.0 * */ @Controller @RequestMapping("/contractPController") public class ContractPController extends BaseController { /** * Logger for this class */ private static final Logger logger = Logger.getLogger(ContractPController.class); @Autowired private ContractPServiceI contractPService; @Autowired private SystemService systemService; @Autowired private Validator validator; @Autowired private WorkflowServiceI workflowService; /** * 物料采购合同列表 页面跳转 * * @return */ @RequestMapping(params = "list") public ModelAndView list(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/contractp/contractpList"); } /** * easyui AJAX请求数据 * * @param request * @param response * @param dataGrid * @param user */ @RequestMapping(params = "datagrid") public void datagrid(ContractPEntity contract,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { CriteriaQuery cq = new CriteriaQuery(ContractPEntity.class, dataGrid); String contractCode = request.getParameter("code"); String contractName = request.getParameter("name"); String contractDescription = request.getParameter("description"); //查询条件组装器 if(StringUtils.isNotBlank(contractCode)){ //模糊查询 cq.like("code", "%"+contractCode+"%"); contract.setCode(null); } if(StringUtils.isNotBlank(contractName)){ //模糊查询 cq.like("name", "%"+contractName+"%"); contract.setName(null); } if(StringUtils.isNotBlank(contractDescription)){ //模糊查询 cq.like("description", "%"+contractDescription+"%"); contract.setDescription(null); } cq.addOrder("startdate", SortDirection.desc); try{ //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, contract); }catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); this.contractPService.getDataGridReturn(cq, true); TagUtil.datagrid(response, dataGrid); } /** * 选择合同列表界面 * 应用场景:支付申请时,先选择合同 * */ @RequestMapping(params = "selectlist") public ModelAndView selectlist(HttpServletRequest request) { return new ModelAndView("cn/com/lzt/contractp/selectContractPList"); } /** * 选择合同列表加载数据 * 应用场景:支付申请时,先选择合同 * */ @RequestMapping(params = "selRefDatagridByUser") public void selRefDatagridByUser(ContractPEntity contract,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { String contractCode = request.getParameter("code"); String contractName = request.getParameter("name"); String contractDescription = request.getParameter("description"); StringBuffer sbCondition = new StringBuffer(); //默认查询条件 sbCondition.append(" totalamount > ifnull(totalpayment,0) and bpmStatus = '") .append(Globals.BPM_STATUS_FINISHED) .append("' and busstatus = '") .append(Globals.CONTRACT_STATUS_ACTIVE) .append("' "); //查询条件组装器 //模糊查询 if(StringUtils.isNotBlank(contractCode)){ sbCondition.append(" and code like '").append(contractCode).append("'"); } if(StringUtils.isNotBlank(contractName)){ sbCondition.append(" and name like '").append(contractName).append("'"); } if(StringUtils.isNotBlank(contractDescription)){ sbCondition.append(" and description like '").append(contractDescription).append("'"); } String hql0 = "from ContractPEntity where "+sbCondition.toString() +" order by startdate desc"; List contractList = systemService.findHql(hql0); dataGrid.setResults(contractList); TagUtil.datagrid(response, dataGrid); } /** * 删除物料采购合同 * * @return */ @RequestMapping(params = "doDel") @ResponseBody public AjaxJson doDel(ContractPEntity contract, HttpServletRequest request) { AjaxJson j = new AjaxJson(); contract = systemService.getEntity(ContractPEntity.class, contract.getId()); String message = "物料采购合同删除成功"; try{ contractPService.delMain(contract); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "物料采购合同删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 批量删除物料采购合同 * * @return */ @RequestMapping(params = "doBatchDel") @ResponseBody public AjaxJson doBatchDel(String ids,HttpServletRequest request){ AjaxJson j = new AjaxJson(); String message = "物料采购合同删除成功"; try{ for(String id:ids.split(",")){ ContractPEntity contract = systemService.getEntity(ContractPEntity.class, id ); contractPService.delMain(contract); systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO); } }catch(Exception e){ e.printStackTrace(); message = "物料采购合同删除失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 添加物料采购合同 * * @param ids * @return */ @RequestMapping(params = "doAdd") @ResponseBody public AjaxJson doAdd(ContractPEntity contract,ContractPPage ContractPPage, HttpServletRequest request) { List contractPPayruleList = ContractPPage.getContractPPayruleList(); List contractItemList = ContractPPage.getContractPItemList(); AjaxJson j = new AjaxJson(); String message = "添加成功"; try{ //设置合同初始状态为已签订 contract.setBusstatus(Globals.CONTRACT_STATUS_SIGN); //设置合同类型为物料采购合同 contract.setType(Globals.CONTRACT_TYPE_OUTSERVICE); contract.setTotalincome(DecimalUtils.ZERO); contract.setTotalinvoice(DecimalUtils.ZERO); contract.setTotalpayment(DecimalUtils.ZERO); //如果合同编码为空,则按照编码规则设置默认编码(合同编码可编辑,用户签订合同时,合同上可能已经有编码) if(StringUtil.isEmpty(contract.getCode())) { contract.setCode(OrderNumTools.generateNextBillCode(Globals.CODE_PREFIX_CONTRACT_PURCHASE,"t_b_contract_p","code",4)); } contractPService.addMain(contract, contractPPayruleList,contractItemList); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "物料采购合同添加失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 更新物料采购合同 * * @param ids * @return */ @RequestMapping(params = "doUpdate") @ResponseBody public AjaxJson doUpdate(ContractPEntity contract,ContractPPage ContractPPage, HttpServletRequest request) { List contractPPayruleList = ContractPPage.getContractPPayruleList(); List contractItemList = ContractPPage.getContractPItemList(); AjaxJson j = new AjaxJson(); String message = "更新成功"; try{ contractPService.updateMain(contract, contractPPayruleList,contractItemList); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); }catch(Exception e){ e.printStackTrace(); message = "更新物料采购合同失败"; throw new BusinessException(e.getMessage()); } j.setMsg(message); return j; } /** * 物料采购合同新增页面跳转 * * @return */ @RequestMapping(params = "goAdd") public ModelAndView goAdd(ContractPEntity contract, HttpServletRequest req) { if (StringUtil.isNotEmpty(contract.getId())) { contract = contractPService.getEntity(ContractPEntity.class, contract.getId()); req.setAttribute("ContractPPage", contract); } return new ModelAndView("cn/com/lzt/contractp/contractp-add"); } /** * 物料采购合同编辑页面跳转 * * @return */ @RequestMapping(params = "goUpdate") public ModelAndView goUpdate(ContractPEntity contract, HttpServletRequest req) { if (StringUtil.isNotEmpty(contract.getId())) { contract = contractPService.getEntity(ContractPEntity.class, contract.getId()); if(StringUtil.isNotEmpty(contract.getProjectid())) { contract.setProjectName(((TSDepart)systemService.getEntity(TSDepart.class, contract.getProjectid())).getDepartname()); } if(StringUtil.isNotEmpty(contract.getPartnerid())) { contract.setPartnerName(((RelatedUnitsEntity)systemService.getEntity(RelatedUnitsEntity.class, contract.getPartnerid())).getUnitName()); } // contractPService.getEntity(ContractPEntity.class, contract.getId()); req.setAttribute("ContractPPage", contract); } return new ModelAndView("cn/com/lzt/contractp/contractp-update"); } @RequestMapping(params = "goUpdateMobile") public ModelAndView goUpdateMobile(ContractPEntity contract, HttpServletRequest req) { if (StringUtil.isNotEmpty(contract.getId())) { contract = contractPService.getEntity(ContractPEntity.class, contract.getId()); if(StringUtil.isNotEmpty(contract.getProjectid())) { contract.setProjectName(((TSDepart)systemService.getEntity(TSDepart.class, contract.getProjectid())).getDepartname()); } if(StringUtil.isNotEmpty(contract.getPartnerid())) { contract.setPartnerName(((RelatedUnitsEntity)systemService.getEntity(RelatedUnitsEntity.class, contract.getPartnerid())).getUnitName()); } // contractPService.getEntity(ContractPEntity.class, contract.getId()); req.setAttribute("ContractPPage", contract); } return new ModelAndView("cn/com/lzt/contractp/contractp-update-mobile"); } @RequestMapping(params = "goViewBusi") public ModelAndView goBusiView(ContractPEntity contract, HttpServletRequest request) { request.setAttribute("viewFlag", "1"); String taskid = oConvertUtils.getString(request.getParameter("taskId")); if(oConvertUtils.isNotEmpty(taskid)){ // FormProcUtil.initWorkflowParam(request); request.setAttribute("taskId",taskid); request.setAttribute(WorkFlowGlobals.ProcNode_Start, "contractPController.do?goUpdate&load=detail&id="+workflowService.getBpmDataId(taskid)); } // if (StringUtil.isNotEmpty(contract.getId())) { // contract = systemService.getEntity(ContractPEntity.class, contract.getId()); // if(StringUtil.isNotEmpty(contract.getProjectid())) { // contract.setProjectName(((TSDepart)systemService.getEntity(TSDepart.class, contract.getProjectid())).getDepartname()); // } // if(StringUtil.isNotEmpty(contract.getPartnerid())) { // contract.setPartnerName(((RelatedUnitsEntity)systemService.getEntity(RelatedUnitsEntity.class, contract.getPartnerid())).getUnitName()); // } // } return new ModelAndView("workflow/task/single/task-form"); } @RequestMapping(params = "goView") public ModelAndView goView(ContractPEntity contract, HttpServletRequest request) { String taskId = request.getParameter("taskId"); //【我发起的流程】-【详情】中查看业务数据时,只看单据信息,不预览审批流程 if(StringUtils.isEmpty(taskId)) { contract = contractPService.getEntity(ContractPEntity.class, contract.getId()); if(StringUtil.isNotEmpty(contract.getProjectid())) { contract.setProjectName(((TSDepart)systemService.getEntity(TSDepart.class, contract.getProjectid())).getDepartname()); } if(StringUtil.isNotEmpty(contract.getPartnerid())) { contract.setPartnerName(((RelatedUnitsEntity)systemService.getEntity(RelatedUnitsEntity.class, contract.getPartnerid())).getUnitName()); } // contractPService.getEntity(ContractPEntity.class, contract.getId()); request.setAttribute("ContractPPage", contract); request.setAttribute("viewFlag", "1"); return new ModelAndView("cn/com/lzt/contractp/contractp-update"); } if(StringUtils.isNotEmpty(request.getParameter("flag"))){ //驳回重填表单 request.setAttribute("url", "contractPController.do?goUpdate&return=1&id="+workflowService.getBpmDataId(taskId)); }else { request.setAttribute("url", "contractPController.do?goUpdate&load=detail&id="+workflowService.getBpmDataId(taskId)); } Map taskDetails = workflowService.getTaskDetails(taskId); request.setAttribute("busititle", "物料采购合同详细信息"); request.setAttribute("id", workflowService.getBpmDataId(taskId)); request.setAttribute("bpmLogList", taskDetails.get("bpmLogList")); request.setAttribute("taskId", taskDetails.get("taskId")); request.setAttribute("taskName", taskDetails.get("taskName")); request.setAttribute("task", taskDetails.get("task")); request.setAttribute("transitionList", taskDetails.get("transitionList")); request.setAttribute("nextCodeCount", taskDetails.get("nextCodeCount")); request.setAttribute("bpmLogListCount", taskDetails.get("bpmLogListCount")); request.setAttribute("bpmLogNewList", taskDetails.get("bpmLogNewList")); request.setAttribute("bpmLogNewListCount", taskDetails.get("bpmLogNewListCount")); request.setAttribute("histListNode", taskDetails.get("histListNode")); request.setAttribute("histListSize", taskDetails.get("histListSize")); request.setAttribute("turnbackTaskId", taskDetails.get("turnbackTaskId")); request.setAttribute("height", "678px"); return new ModelAndView("cn/com/lzt/workflow/task-option"); } /** * 加载明细列表[支付条款] * * @return */ @RequestMapping(params = "contractPPayruleList") public ModelAndView contractPayruleList(ContractPEntity contract, HttpServletRequest req) { //=================================================================================== //获取参数 Object id0 = contract.getId(); //=================================================================================== //查询-支付条款 String hql0 = "from ContractPPayruleEntity where 1 = 1 AND cONTRACTID =? "; try{ List ContractPPayruleEntityList = systemService.findHql(hql0,id0); req.setAttribute("contractPPayruleList", ContractPPayruleEntityList); }catch(Exception e){ logger.info(e.getMessage()); } return new ModelAndView("cn/com/lzt/contractppayrule/contractPPayruleList"); } /** * 加载明细列表[货品、服务明细] * * @return */ @RequestMapping(params = "contractPItemList") public ModelAndView contractItemList(ContractPEntity contract, HttpServletRequest req) { //=================================================================================== //获取参数 Object id1 = contract.getId(); //=================================================================================== //查询-货品、服务明细 String hql1 = "from ContractPItemEntity where 1 = 1 AND cONTRACTID =? "; try{ List ContractPItemEntityList = systemService.findHql(hql1,id1); req.setAttribute("contractPItemList", ContractPItemEntityList); }catch(Exception e){ logger.info(e.getMessage()); } return new ModelAndView("cn/com/lzt/contractpitem/contractPItemList"); } @RequestMapping(params = "contractPaymentList") public ModelAndView contractPaymentList(ContractPaymentEntity contract, HttpServletRequest req) { //=================================================================================== //获取参数 Object id1 = contract.getContractid(); //=================================================================================== //查询-货品、服务明细 String hql1 = "from ContractPaymentEntity where 1 = 1 AND cONTRACTID =? and paystatus=? order by paydate desc"; try{ List contractPaymentEntityList = systemService.findHql(hql1,id1,Globals.PAY_STATUS_YES); req.setAttribute("contractPaymentList", contractPaymentEntityList); }catch(Exception e){ logger.info(e.getMessage()); } return new ModelAndView("cn/com/lzt/contractpayment/contractPaymentListbody"); } @RequestMapping(params = "contractInvoiceList") public ModelAndView contractInvoiceList(ContractInvoiceEntity contract, HttpServletRequest req) { //=================================================================================== //获取参数 Object id1 = contract.getContractid(); //=================================================================================== //查询-货品、服务明细 String hql1 = "from ContractInvoiceEntity where 1 = 1 AND cONTRACTID =? order by invoicedate desc "; try{ List contractInvoiceEntityList = systemService.findHql(hql1,id1); req.setAttribute("contractInvoiceList", contractInvoiceEntityList); }catch(Exception e){ logger.info(e.getMessage()); } return new ModelAndView("cn/com/lzt/contractinvoice/contractInvoiceListbody"); } /** * 导出excel * * @param request * @param response */ @RequestMapping(params = "exportXls") public String exportXls(ContractPEntity contract,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) { CriteriaQuery cq = new CriteriaQuery(ContractPEntity.class, dataGrid); //查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, contract); try{ //自定义追加查询条件 }catch (Exception e) { throw new BusinessException(e.getMessage()); } cq.add(); List list=this.contractPService.getListByCriteriaQuery(cq, false); List pageList=new ArrayList(); if(list!=null&&list.size()>0){ for(ContractPEntity entity:list){ try{ ContractPPage page=new ContractPPage(); MyBeanUtils.copyBeanNotNull2Bean(entity,page); Object id0 = entity.getId(); String hql0 = "from ContractPPayruleEntity where 1 = 1 AND cONTRACTID =? "; List ContractPPayruleEntityList = systemService.findHql(hql0,id0); page.setContractPPayruleList(ContractPPayruleEntityList); Object id1 = entity.getId(); String hql1 = "from ContractPItemEntity where 1 = 1 AND cONTRACTID =? "; List ContractPItemEntityList = systemService.findHql(hql1,id1); page.setContractPItemList(ContractPItemEntityList); pageList.add(page); }catch(Exception e){ logger.info(e.getMessage()); } } } map.put(NormalExcelConstants.FILE_NAME,"物料采购合同"); map.put(NormalExcelConstants.CLASS,ContractPPage.class); map.put(NormalExcelConstants.PARAMS,new ExportParams("物料采购合同列表", "导出人:Jeecg", "导出信息")); map.put(NormalExcelConstants.DATA_LIST,pageList); return NormalExcelConstants.JEECG_EXCEL_VIEW; } /** * 通过excel导入数据 * @param request * @param * @return */ @RequestMapping(params = "importExcel", method = RequestMethod.POST) @ResponseBody public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) { AjaxJson j = new AjaxJson(); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); params.setTitleRows(2); params.setHeadRows(2); params.setNeedSave(true); try { List list = ExcelImportUtil.importExcel(file.getInputStream(), ContractPPage.class, params); ContractPEntity entity1=null; for (ContractPPage page : list) { entity1=new ContractPEntity(); MyBeanUtils.copyBeanNotNull2Bean(page,entity1); contractPService.addMain(entity1, page.getContractPPayruleList(),page.getContractPItemList()); } j.setMsg("文件导入成功!"); } catch (Exception e) { j.setMsg("文件导入失败!"); logger.error(ExceptionUtil.getExceptionMessage(e)); }finally{ try { file.getInputStream().close(); } catch (IOException e) { e.printStackTrace(); } } } return j; } /** * 导出excel 使模板 */ @RequestMapping(params = "exportXlsByT") public String exportXlsByT(ModelMap map) { map.put(NormalExcelConstants.FILE_NAME,"物料采购合同"); map.put(NormalExcelConstants.CLASS,ContractPPage.class); map.put(NormalExcelConstants.PARAMS,new ExportParams("物料采购合同列表", "导出人:"+ ResourceUtil.getSessionUser().getRealName(), "导出信息")); map.put(NormalExcelConstants.DATA_LIST,new ArrayList()); return NormalExcelConstants.JEECG_EXCEL_VIEW; } /** * 导入功能跳转 * * @return */ @RequestMapping(params = "upload") public ModelAndView upload(HttpServletRequest req) { req.setAttribute("controller_name", "contractController"); return new ModelAndView("common/upload/pub_excel_upload"); } @RequestMapping(method = RequestMethod.GET) @ResponseBody public List list() { List listContracts=contractPService.getList(ContractPEntity.class); return listContracts; } @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public ResponseEntity get(@PathVariable("id") String id) { ContractPEntity task = contractPService.get(ContractPEntity.class, id); if (task == null) { return new ResponseEntity(HttpStatus.NOT_FOUND); } return new ResponseEntity(task, HttpStatus.OK); } @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public ResponseEntity create(@RequestBody ContractPPage ContractPPage, UriComponentsBuilder uriBuilder) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(ContractPPage); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 List contractPayruleList = ContractPPage.getContractPPayruleList(); List contractItemList = ContractPPage.getContractPItemList(); ContractPEntity contract = new ContractPEntity(); try{ MyBeanUtils.copyBeanNotNull2Bean(contract,ContractPPage); }catch(Exception e){ logger.info(e.getMessage()); } contractPService.addMain(contract, contractPayruleList,contractItemList); //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象. String id = ContractPPage.getId(); URI uri = uriBuilder.path("/rest/contractController/" + id).build().toUri(); HttpHeaders headers = new HttpHeaders(); headers.setLocation(uri); return new ResponseEntity(headers, HttpStatus.CREATED); } @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity update(@RequestBody ContractPPage ContractPPage) { //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息. Set> failures = validator.validate(ContractPPage); if (!failures.isEmpty()) { return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST); } //保存 List contractPPayruleList = ContractPPage.getContractPPayruleList(); List contractPItemList = ContractPPage.getContractPItemList(); ContractPEntity contract = new ContractPEntity(); try{ MyBeanUtils.copyBeanNotNull2Bean(contract,ContractPPage); }catch(Exception e){ logger.info(e.getMessage()); } contractPService.updateMain(contract, contractPPayruleList,contractPItemList); //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码. return new ResponseEntity(HttpStatus.NO_CONTENT); } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @ResponseStatus(HttpStatus.NO_CONTENT) public void delete(@PathVariable("id") String id) { ContractPEntity contract = contractPService.get(ContractPEntity.class, id); contractPService.delMain(contract); } }