| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 |
- package com.goafanti.order.controller;
- import java.io.IOException;
- import java.io.OutputStream;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import com.goafanti.common.bo.Result;
- import com.goafanti.common.constant.ErrorConstants;
- import com.goafanti.common.controller.CertifyApiController;
- import com.goafanti.common.model.TOrderNew;
- import com.goafanti.common.model.TOrderRefundWithBLOBs;
- import com.goafanti.common.model.TOrderTask;
- import com.goafanti.order.enums.ApprovalNewState;
- import com.goafanti.order.enums.OrderNewState;
- import com.goafanti.order.service.OrderNewService;
- @RestController
- @RequestMapping(value = "/api/admin/newOrder")
- public class AdminNewOrderApiController extends CertifyApiController {
-
- @Autowired
- private OrderNewService orderNewService;
- /**
- * 创建订单
- * @param uid
- * @param orderType
- * @return
- */
- @RequestMapping(value = "/createOrder",method = RequestMethod.POST)
- public Result createOrder(String uid,Integer orderType){
- Result res = new Result();
- if(StringUtils.isBlank(uid)){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","客户编号"));
- return res;
- }
- if(orderType == null){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单类型"));
- return res;
- }
- res.data(orderNewService.createServiceOrder(uid,orderType));
- return res;
- }
- /**
- * 添加项目
- * @param t
- * @return
- */
- @RequestMapping(value = "/addOrderTask",method = RequestMethod.POST)
- public Result addOrderTask(TOrderTask t){
- Result res = new Result();
- if(StringUtils.isBlank(t.getOrderNo())){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
- return res;
- }
- if (t.getOrderNo()!=null&&orderNewService.checkOrderMain(t)) {
- res.getError().add(buildError("订单主要任务已存在","订单主要任务已存在"));
- return res;
- }
- return res.data(orderNewService.addOrderTask(t));
- }
- /**
- * 修改项目
- * @param t
- * @return
- */
- @RequestMapping(value = "/updateOrderTask",method = RequestMethod.POST)
- public Result updateOrderTask(TOrderTask t){
- Result res=new Result();
- if(null==t.getId()){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","项目编号"));
- return res;
- }
- if (t.getOrderNo()!=null&&orderNewService.checkOrderMain(t)) {
- res.getError().add(buildError("订单主要任务已存在","订单主要任务已存在"));
- return res;
- }
- return res.data(orderNewService.updateOrderTask(t));
- }
- /**
- * 删除订单项目
- * @param detailId
- * @return
- */
- @RequestMapping(value = "/deleteOrderTask",method = RequestMethod.POST)
- public Result deleteOrderTask(Integer id){
- Result res = new Result();
- if(id==null){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","项目编号"));
- return res;
- }
- return res.data(orderNewService.delectOrderTask(id));
- }
- /**
- * 删除订单
- * @param detailId
- * @return
- */
- @RequestMapping(value = "/deleteOrderNew",method = RequestMethod.POST)
- public Result deleteOrderNew(String orderNo){
- Result res = new Result();
- if(StringUtils.isBlank(orderNo)){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
- return res;
- }
- int i=orderNewService.deleteOrderNew(orderNo);
- if (i==-1) {
- res.getError().add(buildError("订单未达删除条件","订单未达删除条件"));
- return res;
- }
- return res.data(i);
- }
-
- /**
- * 获取订单项目信息
- * @param orderNo
- * @return
- */
- @RequestMapping(value = "/getOrderTask",method = RequestMethod.GET)
- public Result getOrderTask(String orderNo){
- Result res = new Result();
- if(StringUtils.isBlank(orderNo)){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
- return res;
- }
- res.setData(orderNewService.selectOrderTask(orderNo));
- return res;
- }
- /**
- * 修改订单
- * @param orderNo
- * @param firstPayment
- * @param orderAmount
- * @param signFirstPayment
- * @param signTotalAmount
- * @param approval
- * @param orderRemarks
- * @return
- */
- @RequestMapping(value = "/updateServiceOrderNew",method = RequestMethod.POST)
- public Result updateServiceOrder(TOrderNew t,Integer isSubmit,String signDate){
- Result res = new Result();
- if(StringUtils.isBlank(t.getOrderNo())){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "订单编号"));
- return res;
- }
- if(null==t.getTotalAmount() || null==t.getFirstAmount()){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "订单金额 和 首付金额"));
- return res;
- }
- if(StringUtils.isBlank(t.getContractPictureUrl())){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "合同图片"));
- return res;
- }
- if(null==isSubmit){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "提条状态"));
- return res;
- }
- if (isSubmit==1&&orderNewService.checkORderTask(t.getOrderNo())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "主项目"));
- return res;
- }
- if (StringUtils.isNotBlank(signDate)) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- try {
- t.setSignTime(sdf.parse(signDate));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- }
- res.setData(orderNewService.updateServiceOrder(t,isSubmit));
- return res;
- }
-
- /**
- * 订单详情
- * @param orderNo
- * @return
- */
- @RequestMapping(value = "/getOrderNewDetail", method = RequestMethod.GET)
- public Result getOrderNewDetail(String orderNo){
- Result res = new Result();
- if(StringUtils.isBlank(orderNo)){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号","订单编号"));
- return res;
- }
- res.setData(orderNewService.getOrderNewDetail(orderNo));
- return res;
- }
- /**
- * 收款截点编辑
- */
- @RequestMapping(value = "/createOrderDun", method = RequestMethod.POST)
- public Result createOrderDun(String orderDun,String orderNo){
- Result res = new Result();
- if(StringUtils.isBlank(orderNo)){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号","订单编号"));
- return res;
- }
- res.setData(orderNewService.createOrderDun(orderDun,orderNo));
- return res;
- }
- /**
- * 查看订单收款截点
- */
- @RequestMapping(value = "/selectOrderDun", method = RequestMethod.GET)
- public Result selectOrderDun(String orderNo){
- Result res = new Result();
- if(StringUtils.isBlank(orderNo)){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号","订单编号"));
- return res;
- }
- res.setData(orderNewService.selectOrderDun(orderNo));
- return res;
- }
- /**
- * 订单列表
- */
- @RequestMapping(value="/orderNewList", method = RequestMethod.GET)
- public Result orderNewList(String name,String orderNo,String starTime,String endTime ,Integer specially ,Integer distribution,Integer pageNo,Integer pageSize){
- Result res=new Result();
- res.data(orderNewService.orderNewList(name, orderNo, starTime, endTime, specially , distribution, pageNo, pageSize));
- return res;
- }
-
- /**
- * 订单审核
- */
- @RequestMapping(value="/auditOrderNew", method = RequestMethod.POST)
- public Result auditOrderNewList(String orderNo,Integer orderStatus,String reason){
- Result res=new Result();
- if(StringUtils.isBlank(orderNo)){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号","订单编号"));
- return res;
- }
- if(orderStatus==null||(orderStatus!=OrderNewState.QDSHTG.getCode()&&orderStatus!=OrderNewState.QDSHJJ.getCode())||
- orderNewService.chekeOrderStatus(orderNo)){
- res.getError().add(buildError( "审核状态错误","审核状态错误"));
- return res;
- }
- if (orderStatus==OrderNewState.QDSHJJ.getCode()&&StringUtils.isBlank(reason)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"驳回原因", "驳回原因"));
- return res;
- }
- return res.data(orderNewService.updateOrderNew(orderNo,orderStatus,reason));
- }
- /**
- * 催款统计列表
- */
- @RequestMapping(value="/dunOrderNewList", method = RequestMethod.GET)
- public Result dunOrderNewList(String name,String orderNo,String starTime,String endTime,Integer specially,Integer pageNo,Integer pageSize){
- Result res=new Result();
- res.data(orderNewService.dunOrderNewList(name, orderNo, starTime, endTime,specially, pageNo, pageSize));
- return res;
- }
- /**
- * 新增催款记录
- */
- @RequestMapping(value="/createDunLog", method = RequestMethod.POST)
- public Result createDunLog(String dunId,String dumTime,String remarks){
- Result res=new Result();
- if (StringUtils.isBlank(dunId)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "催款ID","催款ID"));
- return res;
- }
- if (StringUtils.isBlank(dumTime)||StringUtils.isBlank(remarks)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "时间与描述","时间与描述"));
- return res;
- }
- res.data(orderNewService.createDunLog(dunId, dumTime, remarks));
- return res;
- }
- /**
- * 催款记录查询
- */
- @RequestMapping(value="/selectDunLogList", method = RequestMethod.GET)
- public Result selectDunLogList(String dunId){
- Result res=new Result();
- if (StringUtils.isBlank(dunId)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "催款ID","催款ID"));
- return res;
- }
- res.data(orderNewService.selectDunLogList(dunId));
- return res;
- }
- /**
- * 订单退单
- */
- @RequestMapping(value="/addOrderRefund", method = RequestMethod.POST)
- public Result addOrderRefund(TOrderRefundWithBLOBs t){
- Result res=new Result();
- if (StringUtils.isBlank(t.getOrderNo())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号","订单编号"));
- return res;
- }
- if(StringUtils.isBlank(t.getContractUrl())||StringUtils.isBlank(t.getApplicationUrl())){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "合同与申请表","合同与申请表"));
- return res;
- }
- if (StringUtils.isBlank(t.getReason())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "退单原因","退单原因"));
- return res;
- }
- if(orderNewService.checkOderSettlementAmount(t.getOrderNo())){
- res.getError().add(buildError( "未达退单条件","未达退单条件"));
- return res;
- }
- res.data(orderNewService.addOrderRefund(t));
- return res;
- }
- /**
- * 退单详情
- */
- @RequestMapping(value="/orderRefundDetail", method = RequestMethod.GET)
- public Result OrderRefund(String id){
- Result res=new Result();
- if (StringUtils.isBlank(id)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "退单编号","退单编号"));
- return res;
- }
- res.data(orderNewService.orderRefundDetail(id));
- return res;
- }
- /**
- * 订单退单
- */
- @RequestMapping(value="/updateOrderRefund", method = RequestMethod.POST)
- public Result updateOrderRefund(TOrderRefundWithBLOBs t){
- Result res=new Result();
- if (null==t.getId()) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "退单编号","退单编号"));
- return res;
- }
- if(StringUtils.isBlank(t.getContractUrl())||StringUtils.isBlank(t.getApplicationUrl())){
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "合同与申请表","合同与申请表"));
- return res;
- }
- if (StringUtils.isBlank(t.getReason())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "退单原因","退单原因"));
- return res;
- }
- res.data(orderNewService.updateOrderRefund(t));
- return res;
- }
- /**
- * 审批特批订单
- * @param orderNo
- * @return
- */
- @RequestMapping(value = "/approvalOrder",method = RequestMethod.POST)
- public Result approvalOrder(String orderNo,Integer confirm,String reason){
- Result res = new Result();
- if (StringUtils.isBlank(orderNo)||confirm==null) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号和审批","订单编号和审批"));
- return res;
- }
- if (confirm==ApprovalNewState.BH.getCode()&&StringUtils.isBlank(reason)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"驳回原因", "驳回原因"));
- return res;
- }
- if (orderNewService.chekeApprovalOrderStatus(orderNo)) {
- res.getError().add(buildError( "审核状态错误","审核状态错误"));
- return res;
- }
- return res.data(orderNewService.updateApprovalOrder(orderNo,confirm,reason));
- }
- /**
- * 退单列表
- */
- @RequestMapping(value="/orderRefundList", method = RequestMethod.GET)
- public Result orderRefundList(String name,String orderNo,String starTime,String endTime,Integer specially,Integer pageNo,Integer pageSize){
- Result res=new Result();
- res.data(orderNewService.orderRefundList(name, orderNo, starTime, endTime,specially, pageNo, pageSize));
- return res;
- }
-
- /**
- * 订单结单
- */
- @RequestMapping(value="/OrderOver", method = RequestMethod.GET)
- public Result updateOrderOver(String orderNo){
- Result res=new Result();
- if (StringUtils.isBlank(orderNo)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "订单编号","订单编号"));
- return res;
- }
- int i=orderNewService.updateOrderOver(orderNo);
- if (i==-1) {
- res.getError().add(buildError("不符合结单条件","不符合结单条件"));
- return res;
- }
- res.setData(i);
- return res;
- }
- /**
- * 咨询师驳回
- */
- @RequestMapping(value = "/technicianBackOrder", method = RequestMethod.POST)
- public Result technicianBackOrder(String orderNo,String reason){
- Result res = new Result();
- int i=orderNewService.updatetechnicianBackOrder(orderNo, reason);
- if (i==-1) {
- res.getError().add(buildError("不符合驳回条件","不符合驳回条件"));
- return res;
- }
- return res;
- }
-
- /** 退单文件上传 **/
- @RequestMapping(value = "/uploadRefundOrderFile", method = RequestMethod.POST)
- public Result uploadRefundOrderFile(HttpServletRequest req,String sign){
- Result res = new Result();
- //order_refund_file
- res.setData(handleFile(res, "/order_refund_file/", false, req, sign));
- return res;
- }
- /**
- * 催款列表下载
- * @throws IOException
- */
- @RequestMapping(value = "/exportOrderDunData", method = RequestMethod.GET)
- public Result exportOrderDunData(String name,String orderNo,String starTime,String endTime,HttpServletResponse response) throws IOException{
- Result res = new Result();
- XSSFWorkbook wb = orderNewService.exportOrderDunData( name, orderNo, starTime, endTime);
- if(null == wb){
- res.getError().add(buildError("", "没有找到数据"));
- return res;
- }
- String fileName = "催款信息表 " + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls";
- OutputStream out = response.getOutputStream();
- response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1"));
- response.setContentType("application/octet-stream;charset=utf-8");
- try {
- // 返回数据流
- wb.write(out);
- out.flush();
- out.close();
- } finally {
- out.flush();
- out.close();
- }
-
- return res;
- }
-
- }
|