|
|
@@ -1,368 +1,367 @@
|
|
|
-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.annotation.Resource;
|
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
-
|
|
|
-import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
|
-import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
-import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
-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.AFTConstants;
|
|
|
-import com.goafanti.common.controller.CertifyApiController;
|
|
|
-import com.goafanti.common.model.TOrderBack;
|
|
|
-import com.goafanti.common.model.TOrderBillNew;
|
|
|
-import com.goafanti.common.model.TOrderNew;
|
|
|
-import com.goafanti.common.model.TOrderRefund;
|
|
|
-import com.goafanti.common.utils.StringUtils;
|
|
|
-import com.goafanti.core.shiro.token.TokenManager;
|
|
|
-import com.goafanti.order.bo.OrderListBo;
|
|
|
-import com.goafanti.order.bo.OrderRefundBo;
|
|
|
-import com.goafanti.order.service.FundManageOrderService;
|
|
|
-import com.goafanti.order.service.OrderBillService;
|
|
|
-import com.goafanti.order.service.OrderRefundService;
|
|
|
-
|
|
|
-@RestController
|
|
|
-@RequestMapping(value = "/api/admin/financial")
|
|
|
-public class FundManagerOrderApiController extends CertifyApiController {
|
|
|
- @Resource
|
|
|
- private FundManageOrderService fundManageOrderServiceImpl;
|
|
|
- @Resource
|
|
|
- private OrderBillService orderBillServiceImpl;
|
|
|
- @Resource
|
|
|
- private OrderRefundService orderRefundServiceImpl;
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务管理员查看所有待分配的订单
|
|
|
- * @param order >> outsource 0否 1外包
|
|
|
- * @param pageNo
|
|
|
- * @param pageSize
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/allUnassignedOrder",method = RequestMethod.GET)
|
|
|
- public Result allUnassignedOrder(OrderListBo order, Integer pageNo, Integer pageSize){
|
|
|
- Result res = new Result();
|
|
|
- //order.setProcessStatus(2);//订单状态为2 改为前端传
|
|
|
- res.setData(fundManageOrderServiceImpl.allUnassignedOrder(order, pageNo, pageSize));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务管理员分派订单
|
|
|
- * @param orderid
|
|
|
- * @param financeId
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/distributionFinance", method = RequestMethod.POST)
|
|
|
- public Result distributionFinance(String orderNo, String financeId, Integer approval){
|
|
|
- Result res = new Result();
|
|
|
- Integer r = fundManageOrderServiceImpl.updateDistributionFinance(orderNo, financeId, approval);
|
|
|
- if(r == -1){
|
|
|
- res.getError().add(buildError("", "未通过特批不能分配"));
|
|
|
- return res;
|
|
|
- }else if( r == -2 ){
|
|
|
- res.getError().add(buildError("", "订单编号或者财务专员发生异常错误"));
|
|
|
- return res;
|
|
|
- }else{
|
|
|
- res.setData(r);
|
|
|
- }
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务专员查看分配给自己的订单
|
|
|
- * @param order >> outsource 0否 1外包
|
|
|
- * @param pageNo
|
|
|
- * @param pageSize
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/financeList", method = RequestMethod.GET)
|
|
|
- public Result financeList(OrderListBo order, Integer pageNo, Integer pageSize ){
|
|
|
- Result res = new Result();
|
|
|
- //order.setProcessStatus(3);//分配给自己 改为前端 传3未分配 4已分配
|
|
|
- order.setOrderStatus(2);//营销管理员审核通过
|
|
|
- res.setData(fundManageOrderServiceImpl.financeList(order, pageNo, pageSize));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务专员驳回
|
|
|
- * @param orderBack
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/reject", method = RequestMethod.POST)
|
|
|
- public Result reject(TOrderBack orderBack){
|
|
|
- Result res = new Result();
|
|
|
- if(null != orderBack.getReason() && orderBack.getReason().length() > 256){
|
|
|
- res.getError().add(buildError("", "驳回原因长度不能大于256"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- Integer i = fundManageOrderServiceImpl.updateReject(orderBack);
|
|
|
- if(i>0){
|
|
|
- res.setData("驳回处理成功!");
|
|
|
- }else{
|
|
|
- res.getError().add(buildError("", "已经交款不能驳回"));
|
|
|
- }
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务收款
|
|
|
- * 财务专员新增流水记录并流转订单状态
|
|
|
- * @param billNew
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/addReceiptsFlow", method = RequestMethod.POST)
|
|
|
- public Result addReceiptsFlow(TOrderBillNew billNew,String contractNo){
|
|
|
- Result res = new Result();
|
|
|
- if(null != billNew.getRemarks() && billNew.getRemarks().length() > 255){
|
|
|
- res.getError().add(buildError("", "备注长度不能大于255"));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- if (StringUtils.isBlank(contractNo)) {
|
|
|
- res.getError().add(buildError("", "合同编号不能为空!"));
|
|
|
- return res;
|
|
|
- } else if (contractNo.length() > 32) {
|
|
|
- res.getError().add(buildError("", "合同编号长度不能大于32!"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- //流水时间处理
|
|
|
- //if(StringUtils.isNotEmpty(billNew.getFinancialPayTimes())){
|
|
|
- try {
|
|
|
- billNew.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(billNew.getFinancialPayTimes()));
|
|
|
- } catch (ParseException e) {
|
|
|
- e.printStackTrace();
|
|
|
- res.getError().add(buildError("", "财务流水时间有误!"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- //}
|
|
|
- Integer i = fundManageOrderServiceImpl.addReceiptsFlow(billNew,contractNo);
|
|
|
- if(i>0){
|
|
|
- res.setData("新增收款记录成功!");
|
|
|
- }else if(i == -3){
|
|
|
- res.getError().add(buildError("", "订单变更锁定中"));
|
|
|
- }else if(i == -2){
|
|
|
- res.getError().add(buildError("", "订单编号错误!"));
|
|
|
- }else{
|
|
|
- res.getError().add(buildError("", "本次收款金额大于应收金额!"));
|
|
|
- }
|
|
|
- return res;
|
|
|
- }
|
|
|
- /**
|
|
|
- * 财务审核
|
|
|
- */
|
|
|
- @RequestMapping(value="/financeApproval", method = RequestMethod.POST)
|
|
|
- public Result financeApproval(String orderNo,String remarks) {
|
|
|
- Result res=new Result();
|
|
|
- if (StringUtils.isBlank(orderNo)) {
|
|
|
- res.getError().add(buildError("","订单必须指定。"));
|
|
|
- }
|
|
|
- res.data(fundManageOrderServiceImpl.updateFinanceApproval(orderNo,remarks));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务专员查看自己要处理的退单数据
|
|
|
- * @param refund
|
|
|
- * @param pageNo
|
|
|
- * @param pageSize
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/getRefundList", method = RequestMethod.GET)
|
|
|
- public Result getRefundList(OrderRefundBo refund, Integer pageNo, Integer pageSize){
|
|
|
- Result res = new Result();
|
|
|
- refund.setAccept(TokenManager.getAdminId());
|
|
|
- if(null != refund.getRefundStatus()){
|
|
|
- refund.setRefundStatus(refund.getRefundStatus() + 1);
|
|
|
- }
|
|
|
- res.setData(orderRefundServiceImpl.getRefundList(refund, pageNo, pageSize));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务专员审核退款
|
|
|
- * @param refund
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/changeRefund", method = RequestMethod.POST)
|
|
|
- public Result changeRefund(TOrderRefund refund){
|
|
|
- Result res = new Result();
|
|
|
- if(null != refund.getResult() && refund.getResult().length() > 256){
|
|
|
- res.getError().add(buildError("", "审批意见长度不能大于256"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- int r = fundManageOrderServiceImpl.updateChangeRefund(refund);
|
|
|
- if(r>0){
|
|
|
- res.setData("审核退款成功!");
|
|
|
- }else{
|
|
|
- res.getError().add(buildError("", "状态异常不能审批!"));
|
|
|
- }
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务专员新增退款流水
|
|
|
- * @param orderRefund
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/addRefundFlow", method = RequestMethod.POST)
|
|
|
- public Result addRefundFlow(TOrderBillNew orderRefund){
|
|
|
- Result res = new Result();
|
|
|
- if(null != orderRefund.getRemarks() && orderRefund.getRemarks().length() > 255){
|
|
|
- res.getError().add(buildError("", "备注长度不能大于255"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- //if(StringUtils.isNotEmpty(orderRefund.getFinancialPayTimes())){
|
|
|
- try {
|
|
|
- orderRefund.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(orderRefund.getFinancialPayTimes()));
|
|
|
- } catch (ParseException e) {
|
|
|
- e.printStackTrace();
|
|
|
- res.getError().add(buildError("", "财务流水时间有误!"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- //}
|
|
|
- int r = fundManageOrderServiceImpl.addRefundFlow(orderRefund);
|
|
|
- if(r>0){
|
|
|
- res.setData("退款记录新增成功!");
|
|
|
- }else{
|
|
|
- res.getError().add(buildError("", "退款金额不能大于已交款金额"));
|
|
|
- }
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据id查看订单流水数据
|
|
|
- * @param rid
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/selectOneRefundFlow", method = RequestMethod.GET)
|
|
|
- public Result selectOneRefundFlow(String billNo){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(fundManageOrderServiceImpl.selectOneRefundFlow(billNo));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据订单编号查看该订单相关的所有流水
|
|
|
- * @param orderNo
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/selectOneOrderAllRefundFlow", method = RequestMethod.GET)
|
|
|
- public Result selectOneOrderAllRefundFlow(String orderNo){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(fundManageOrderServiceImpl.selectOneOrderAllRefundFlow(orderNo));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 财务专员查看自己的流水
|
|
|
- * @param billNew
|
|
|
- * @param pageNo
|
|
|
- * @param pageSize
|
|
|
- * @param type 0自己 1所有
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/myBillList", method = RequestMethod.GET)
|
|
|
- public Result myBillList(TOrderBillNew billNew,Integer whoType ,Integer pageNo, Integer pageSize){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(orderBillServiceImpl.myBillList(billNew,whoType, pageNo, pageSize));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除流水
|
|
|
- *
|
|
|
- */
|
|
|
- @RequestMapping(value="/deleteMyBill", method = RequestMethod.GET)
|
|
|
- public Result deleteMyBill(String billNo){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(orderBillServiceImpl.deleteMyBill(billNo));
|
|
|
- return res;
|
|
|
- }
|
|
|
- /**
|
|
|
- * 查看部门的流水
|
|
|
- * @param billNew
|
|
|
- * @param pageNo
|
|
|
- * @param pageSize
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/deptBillList", method = RequestMethod.GET)
|
|
|
- public Result deptBillList(TOrderBillNew billNew, Integer pageNo, Integer pageSize){
|
|
|
- Result res = new Result();
|
|
|
- res.setData(orderBillServiceImpl.myBillList(billNew, 1,pageNo, pageSize));
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 下载部门流水数据
|
|
|
- * @param billNew
|
|
|
- * @param response
|
|
|
- * @return
|
|
|
- * @throws IOException
|
|
|
- */
|
|
|
- @RequestMapping(value="/exportBillData", method = RequestMethod.GET)
|
|
|
- public Result exportBillData(TOrderBillNew billNew,HttpServletResponse response) throws IOException{
|
|
|
- OutputStream out = response.getOutputStream();
|
|
|
- Result res = new Result();
|
|
|
- XSSFWorkbook wb = orderBillServiceImpl.exportBillData(billNew);
|
|
|
- if(null == wb){
|
|
|
- wb = new XSSFWorkbook();
|
|
|
- XSSFSheet sheet = wb.createSheet("没有流水记录");
|
|
|
- XSSFRow row = sheet.createRow(0);
|
|
|
- XSSFCell cell = row.createCell(0);
|
|
|
- cell.setCellValue("没有流水记录");
|
|
|
- }
|
|
|
- String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
|
|
|
- response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1"));
|
|
|
- response.setContentType("application/octet-stream;charset=utf-8");
|
|
|
- /*String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
|
|
|
- ExportExcelUtil.download(path,response,fileName);
|
|
|
- res.setData(path);
|
|
|
- //删除
|
|
|
- File f = new File(path);
|
|
|
- if(f.exists()){
|
|
|
- System.out.println("shanchu----------------------0");
|
|
|
- f.delete();
|
|
|
- }*/
|
|
|
- try {
|
|
|
- // 返回数据流
|
|
|
- wb.write(out);
|
|
|
- out.flush();
|
|
|
- out.close();
|
|
|
- } finally {
|
|
|
- out.flush();
|
|
|
- out.close();
|
|
|
- }
|
|
|
- return res;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 修改合同编号
|
|
|
- * @param orderNew
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value="/updateContractNo", method = RequestMethod.POST)
|
|
|
- public Result updateContractNo(TOrderNew orderNew){
|
|
|
- Result res = new Result();
|
|
|
- if(StringUtils.isBlank(orderNew.getContractNo())){
|
|
|
- res.getError().add(buildError("", "合同编号不能为空!"));
|
|
|
- return res;
|
|
|
- } else if(orderNew.getContractNo().length()>32){
|
|
|
- res.getError().add(buildError("", "合同编号长度不能大于32!"));
|
|
|
- return res;
|
|
|
- }
|
|
|
- res.setData(fundManageOrderServiceImpl.updateContractNo(orderNew));
|
|
|
- return res;
|
|
|
- }
|
|
|
-}
|
|
|
+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.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
+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.AFTConstants;
|
|
|
+import com.goafanti.common.controller.CertifyApiController;
|
|
|
+import com.goafanti.common.model.TOrderBack;
|
|
|
+import com.goafanti.common.model.TOrderBillNew;
|
|
|
+import com.goafanti.common.model.TOrderNew;
|
|
|
+import com.goafanti.common.model.TOrderRefund;
|
|
|
+import com.goafanti.common.utils.StringUtils;
|
|
|
+import com.goafanti.core.shiro.token.TokenManager;
|
|
|
+import com.goafanti.order.bo.OrderListBo;
|
|
|
+import com.goafanti.order.bo.OrderRefundBo;
|
|
|
+import com.goafanti.order.service.FundManageOrderService;
|
|
|
+import com.goafanti.order.service.OrderBillService;
|
|
|
+import com.goafanti.order.service.OrderRefundService;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping(value = "/api/admin/financial")
|
|
|
+public class FundManagerOrderApiController extends CertifyApiController {
|
|
|
+ @Resource
|
|
|
+ private FundManageOrderService fundManageOrderServiceImpl;
|
|
|
+ @Resource
|
|
|
+ private OrderBillService orderBillServiceImpl;
|
|
|
+ @Resource
|
|
|
+ private OrderRefundService orderRefundServiceImpl;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务管理员查看所有待分配的订单
|
|
|
+ * @param order >> outsource 0否 1外包
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/allUnassignedOrder",method = RequestMethod.GET)
|
|
|
+ public Result allUnassignedOrder(OrderListBo order, Integer pageNo, Integer pageSize){
|
|
|
+ Result res = new Result();
|
|
|
+ //order.setProcessStatus(2);//订单状态为2 改为前端传
|
|
|
+ res.setData(fundManageOrderServiceImpl.allUnassignedOrder(order, pageNo, pageSize));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务管理员分派订单
|
|
|
+ * @param orderid
|
|
|
+ * @param financeId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/distributionFinance", method = RequestMethod.POST)
|
|
|
+ public Result distributionFinance(String orderNo, String financeId, Integer approval){
|
|
|
+ Result res = new Result();
|
|
|
+ Integer r = fundManageOrderServiceImpl.updateDistributionFinance(orderNo, financeId, approval);
|
|
|
+ if(r == -1){
|
|
|
+ res.getError().add(buildError("", "未通过特批不能分配"));
|
|
|
+ return res;
|
|
|
+ }else if( r == -2 ){
|
|
|
+ res.getError().add(buildError("", "订单编号或者财务专员发生异常错误"));
|
|
|
+ return res;
|
|
|
+ }else{
|
|
|
+ res.setData(r);
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务专员查看分配给自己的订单
|
|
|
+ * @param order >> outsource 0否 1外包
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/financeList", method = RequestMethod.GET)
|
|
|
+ public Result financeList(OrderListBo order, Integer pageNo, Integer pageSize ){
|
|
|
+ Result res = new Result();
|
|
|
+ order.setOrderStatus(2);//营销管理员审核通过
|
|
|
+ res.setData(fundManageOrderServiceImpl.financeList(order, pageNo, pageSize));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务专员驳回
|
|
|
+ * @param orderBack
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/reject", method = RequestMethod.POST)
|
|
|
+ public Result reject(TOrderBack orderBack){
|
|
|
+ Result res = new Result();
|
|
|
+ if(null != orderBack.getReason() && orderBack.getReason().length() > 256){
|
|
|
+ res.getError().add(buildError("", "驳回原因长度不能大于256"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ Integer i = fundManageOrderServiceImpl.updateReject(orderBack);
|
|
|
+ if(i>0){
|
|
|
+ res.setData("驳回处理成功!");
|
|
|
+ }else{
|
|
|
+ res.getError().add(buildError("", "已经交款不能驳回"));
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务收款
|
|
|
+ * 财务专员新增流水记录并流转订单状态
|
|
|
+ * @param billNew
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/addReceiptsFlow", method = RequestMethod.POST)
|
|
|
+ public Result addReceiptsFlow(TOrderBillNew billNew,String contractNo){
|
|
|
+ Result res = new Result();
|
|
|
+ if(null != billNew.getRemarks() && billNew.getRemarks().length() > 255){
|
|
|
+ res.getError().add(buildError("", "备注长度不能大于255"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(contractNo)) {
|
|
|
+ res.getError().add(buildError("", "合同编号不能为空!"));
|
|
|
+ return res;
|
|
|
+ } else if (contractNo.length() > 32) {
|
|
|
+ res.getError().add(buildError("", "合同编号长度不能大于32!"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ //流水时间处理
|
|
|
+ //if(StringUtils.isNotEmpty(billNew.getFinancialPayTimes())){
|
|
|
+ try {
|
|
|
+ billNew.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(billNew.getFinancialPayTimes()));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ res.getError().add(buildError("", "财务流水时间有误!"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ //}
|
|
|
+ Integer i = fundManageOrderServiceImpl.addReceiptsFlow(billNew,contractNo);
|
|
|
+ if(i>0){
|
|
|
+ res.setData("新增收款记录成功!");
|
|
|
+ }else if(i == -3){
|
|
|
+ res.getError().add(buildError("", "订单变更锁定中"));
|
|
|
+ }else if(i == -2){
|
|
|
+ res.getError().add(buildError("", "订单编号错误!"));
|
|
|
+ }else{
|
|
|
+ res.getError().add(buildError("", "本次收款金额大于应收金额!"));
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 财务审核
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/financeApproval", method = RequestMethod.POST)
|
|
|
+ public Result financeApproval(String orderNo,String remarks) {
|
|
|
+ Result res=new Result();
|
|
|
+ if (StringUtils.isBlank(orderNo)) {
|
|
|
+ res.getError().add(buildError("","订单必须指定。"));
|
|
|
+ }
|
|
|
+ res.data(fundManageOrderServiceImpl.updateFinanceApproval(orderNo,remarks));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务专员查看自己要处理的退单数据
|
|
|
+ * @param refund
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/getRefundList", method = RequestMethod.GET)
|
|
|
+ public Result getRefundList(OrderRefundBo refund, Integer pageNo, Integer pageSize){
|
|
|
+ Result res = new Result();
|
|
|
+ refund.setAccept(TokenManager.getAdminId());
|
|
|
+ if(null != refund.getRefundStatus()){
|
|
|
+ refund.setRefundStatus(refund.getRefundStatus() + 1);
|
|
|
+ }
|
|
|
+ res.setData(orderRefundServiceImpl.getRefundList(refund, pageNo, pageSize));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务专员审核退款
|
|
|
+ * @param refund
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/changeRefund", method = RequestMethod.POST)
|
|
|
+ public Result changeRefund(TOrderRefund refund){
|
|
|
+ Result res = new Result();
|
|
|
+ if(null != refund.getResult() && refund.getResult().length() > 256){
|
|
|
+ res.getError().add(buildError("", "审批意见长度不能大于256"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ int r = fundManageOrderServiceImpl.updateChangeRefund(refund);
|
|
|
+ if(r>0){
|
|
|
+ res.setData("审核退款成功!");
|
|
|
+ }else{
|
|
|
+ res.getError().add(buildError("", "状态异常不能审批!"));
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务专员新增退款流水
|
|
|
+ * @param orderRefund
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/addRefundFlow", method = RequestMethod.POST)
|
|
|
+ public Result addRefundFlow(TOrderBillNew orderRefund){
|
|
|
+ Result res = new Result();
|
|
|
+ if(null != orderRefund.getRemarks() && orderRefund.getRemarks().length() > 255){
|
|
|
+ res.getError().add(buildError("", "备注长度不能大于255"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ //if(StringUtils.isNotEmpty(orderRefund.getFinancialPayTimes())){
|
|
|
+ try {
|
|
|
+ orderRefund.setFinancialPayTime(new SimpleDateFormat("yyyy-MM-dd").parse(orderRefund.getFinancialPayTimes()));
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ res.getError().add(buildError("", "财务流水时间有误!"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ //}
|
|
|
+ int r = fundManageOrderServiceImpl.addRefundFlow(orderRefund);
|
|
|
+ if(r>0){
|
|
|
+ res.setData("退款记录新增成功!");
|
|
|
+ }else{
|
|
|
+ res.getError().add(buildError("", "退款金额不能大于已交款金额"));
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据id查看订单流水数据
|
|
|
+ * @param rid
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/selectOneRefundFlow", method = RequestMethod.GET)
|
|
|
+ public Result selectOneRefundFlow(String billNo){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(fundManageOrderServiceImpl.selectOneRefundFlow(billNo));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据订单编号查看该订单相关的所有流水
|
|
|
+ * @param orderNo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/selectOneOrderAllRefundFlow", method = RequestMethod.GET)
|
|
|
+ public Result selectOneOrderAllRefundFlow(String orderNo){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(fundManageOrderServiceImpl.selectOneOrderAllRefundFlow(orderNo));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 财务专员查看自己的流水
|
|
|
+ * @param billNew
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @param type 0自己 1所有
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/myBillList", method = RequestMethod.GET)
|
|
|
+ public Result myBillList(TOrderBillNew billNew,Integer whoType ,Integer pageNo, Integer pageSize){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(orderBillServiceImpl.myBillList(billNew,whoType, pageNo, pageSize));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除流水
|
|
|
+ *
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/deleteMyBill", method = RequestMethod.GET)
|
|
|
+ public Result deleteMyBill(String billNo){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(orderBillServiceImpl.deleteMyBill(billNo));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 查看部门的流水
|
|
|
+ * @param billNew
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/deptBillList", method = RequestMethod.GET)
|
|
|
+ public Result deptBillList(TOrderBillNew billNew, Integer pageNo, Integer pageSize){
|
|
|
+ Result res = new Result();
|
|
|
+ res.setData(orderBillServiceImpl.myBillList(billNew, 1,pageNo, pageSize));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 下载部门流水数据
|
|
|
+ * @param billNew
|
|
|
+ * @param response
|
|
|
+ * @return
|
|
|
+ * @throws IOException
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/exportBillData", method = RequestMethod.GET)
|
|
|
+ public Result exportBillData(TOrderBillNew billNew,HttpServletResponse response) throws IOException{
|
|
|
+ OutputStream out = response.getOutputStream();
|
|
|
+ Result res = new Result();
|
|
|
+ XSSFWorkbook wb = orderBillServiceImpl.exportBillData(billNew);
|
|
|
+ if(null == wb){
|
|
|
+ wb = new XSSFWorkbook();
|
|
|
+ XSSFSheet sheet = wb.createSheet("没有流水记录");
|
|
|
+ XSSFRow row = sheet.createRow(0);
|
|
|
+ XSSFCell cell = row.createCell(0);
|
|
|
+ cell.setCellValue("没有流水记录");
|
|
|
+ }
|
|
|
+ String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
|
|
|
+ response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1"));
|
|
|
+ response.setContentType("application/octet-stream;charset=utf-8");
|
|
|
+ /*String fileName = "部门流水" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
|
|
|
+ ExportExcelUtil.download(path,response,fileName);
|
|
|
+ res.setData(path);
|
|
|
+ //删除
|
|
|
+ File f = new File(path);
|
|
|
+ if(f.exists()){
|
|
|
+ System.out.println("shanchu----------------------0");
|
|
|
+ f.delete();
|
|
|
+ }*/
|
|
|
+ try {
|
|
|
+ // 返回数据流
|
|
|
+ wb.write(out);
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } finally {
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改合同编号
|
|
|
+ * @param orderNew
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value="/updateContractNo", method = RequestMethod.POST)
|
|
|
+ public Result updateContractNo(TOrderNew orderNew){
|
|
|
+ Result res = new Result();
|
|
|
+ if(StringUtils.isBlank(orderNew.getContractNo())){
|
|
|
+ res.getError().add(buildError("", "合同编号不能为空!"));
|
|
|
+ return res;
|
|
|
+ } else if(orderNew.getContractNo().length()>32){
|
|
|
+ res.getError().add(buildError("", "合同编号长度不能大于32!"));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ res.setData(fundManageOrderServiceImpl.updateContractNo(orderNew));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+}
|