123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581 |
- package com.iamberry.rst.controllers.dm;
- import com.iamberry.rst.core.cm.PostageInfo;
- import com.iamberry.rst.core.cm.SalesOrder;
- import com.iamberry.rst.core.cm.StoreInfo;
- import com.iamberry.rst.core.dm.ClaimOrder;
- import com.iamberry.rst.core.dm.DmDealer;
- import com.iamberry.rst.core.dm.FinancialReceipt;
- import com.iamberry.rst.core.order.ProductColor;
- import com.iamberry.rst.core.page.PageRequest;
- import com.iamberry.rst.core.page.PagedResult;
- import com.iamberry.rst.core.sys.Admin;
- import com.iamberry.rst.faces.cm.CompanyInfoService;
- import com.iamberry.rst.faces.cm.SalesOrderService;
- import com.iamberry.rst.faces.cm.StoreInfoService;
- import com.iamberry.rst.faces.dm.*;
- import com.iamberry.rst.faces.product.ProductService;
- import com.iamberry.rst.faces.sys.SysService;
- import com.iamberry.rst.utils.AdminUtils;
- import com.iamberry.rst.utils.StitchAttrUtil;
- import com.iamberry.wechat.tools.ResponseJson;
- import net.sf.json.JSONArray;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.HttpServletRequest;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Objects;
- @Controller
- @RequestMapping("/admin/financial_receipt")
- public class FinanciaReceController {
- private Logger logger = LoggerFactory.getLogger(FinanciaReceController.class);
- @Autowired
- private SysService sysService;
- @Autowired
- private FinancialReceiptService financialReceiptService;
- @Autowired
- private DmDealerService dmDealerService;
- @Autowired
- private ClaimOrderService claimOrderService;
- @Autowired
- private SalesOrderService salesOrderService;
- @Autowired
- private DealerChannelService dealerChannelService;
- @Autowired
- private DealerProductService dealerProductService;
- @Autowired
- private CompanyInfoService companyInfoService;
- @Autowired
- private StoreInfoService storeInfoService;
- @Autowired
- private ProductService productService;
- /**
- * 查询客户基本信息列表
- *
- * @return
- * @author
- * @date
- */
- @RequiresPermissions("dm:financialReceipt:list")
- @RequestMapping("/list_page_fr")
- public ModelAndView listCustomerBasic(HttpServletRequest request, FinancialReceipt financialReceipt,
- @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
- @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
- @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
- ModelAndView mv = new ModelAndView("dm/financialReceipt/fr_list");
- Admin admin = AdminUtils.getLoginAdmin();
- mv.addObject("admin",admin);
- if(admin.getAdminDept() != 1 && admin.getAdminDept() != 5){
- //获取登录员工id
- Integer adminId = AdminUtils.getLoginAdminId();
- financialReceipt.setDealerAdminId(adminId);
- }
- // 封装请求数据
- PageRequest<FinancialReceipt> pageRequest = new PageRequest<>(financialReceipt, pageNO, pageSize, totalNum == 0);
- // 查询订单列表
- PagedResult<FinancialReceipt> result = financialReceiptService.listFinancialReceiptPage(pageRequest);
- if (totalNum != 0) {
- result.setTotal(totalNum);
- }
- StitchAttrUtil.getSa().setModelAndView(financialReceipt, mv, "/admin/financial_receipt/list_page_fr", result);
- return mv;
- }
- /**
- * 添加客户页面
- * @return
- * @author
- * @date
- */
- @RequiresPermissions("dm:financialReceipt:add")
- @RequestMapping("/to_add_finan_rece")
- public ModelAndView toAddFinanRece(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("dm/financialReceipt/add_fr");
- DmDealer dmDealer = new DmDealer();
- dmDealer.setDealerStatus(1);
- List<DmDealer> dmDealerList = dmDealerService.getDmDealerListToFr(dmDealer);
- mv.addObject("dmDealerList",dmDealerList);
- return mv;
- }
- /**
- * 添加 回款信息
- * @param request
- * @return
- */
- @ResponseBody
- @RequiresPermissions("dm:financialReceipt:add")
- @RequestMapping("/finan_rece_save")
- public ResponseJson finanReceSave(HttpServletRequest request, FinancialReceipt financialReceipt) {
- ResponseJson rj = ResponseJson.getSUCCESS();
- //获取登录员工id
- Integer adminId = AdminUtils.getLoginAdminId();
- financialReceipt.setCreateAdminId(adminId);
- if(financialReceipt.getDealerId() == null || financialReceipt.getDealerId() == 0){
- financialReceipt.setFrClaimStatus(2); //frClaimStatus
- }else{
- DmDealer dmDealer = dmDealerService.getDmDealerById(financialReceipt.getDealerId());
- if(dmDealer == null){
- rj = ResponseJson.getFAILURE();
- rj.setResultMsg("添加回款信息,失败原因:客户信息查询失败");
- return rj;
- }
- financialReceipt.setFrClaimStatus(1);
- financialReceipt.setFrClaimAdminId(dmDealer.getCreateId());
- financialReceipt.setFrClaimDate(new Date());
- }
- Integer flag = 0;
- try{
- flag = financialReceiptService.save(financialReceipt);
- }catch (Exception e){
- e.printStackTrace();
- rj = ResponseJson.getFAILURE();
- rj.setResultMsg("添加回款信息,失败原因:"+e.getMessage());
- return rj;
- }
- if(flag > 0){
- rj.setResultMsg("添加成功");
- return rj;
- }else{
- rj = ResponseJson.getFAILURE();
- return rj;
- }
- }
- /**
- * to修改客户页面
- * @return
- * @author
- * @date
- */
- @RequiresPermissions("dm:dealer:update")
- @RequestMapping("/to_update_finan_rece")
- public ModelAndView toUpdateDealer(HttpServletRequest request,Integer frId) {
- ModelAndView mv = new ModelAndView("dm/financialReceipt/update_fr");
- FinancialReceipt financialReceipt = financialReceiptService.getFinancialReceiptById(frId);
- mv.addObject("financialReceipt",financialReceipt);
- DmDealer dmDealer = new DmDealer();
- dmDealer.setDealerStatus(1);
- List<DmDealer> dmDealerList = dmDealerService.getDmDealerListToFr(dmDealer);
- mv.addObject("dmDealerList",dmDealerList);
- return mv;
- }
- /**
- * 修改客户信息
- * @param request
- * @return
- */
- @ResponseBody
- @RequiresPermissions("dm:supplier:update")
- @RequestMapping("/finan_rece_update")
- public ResponseJson dealereUpdate(HttpServletRequest request,FinancialReceipt financialReceipt) {
- ResponseJson rj = ResponseJson.getSUCCESS();
- FinancialReceipt fr = financialReceiptService.getFinancialReceiptById(financialReceipt.getFrId());
- if(financialReceipt.getDealerId() == null || financialReceipt.getDealerId() == 0){
- financialReceipt.setFrClaimStatus(2);
- }else{
- if(!Objects.equals(fr.getDealerId(), financialReceipt.getDealerId())){
- DmDealer dmDealer = dmDealerService.getDmDealerById(financialReceipt.getDealerId());
- if(dmDealer == null){
- rj = ResponseJson.getFAILURE();
- rj.setResultMsg("添加回款信息,失败原因:客户信息查询失败");
- return rj;
- }
- financialReceipt.setFrClaimStatus(1);
- financialReceipt.setFrClaimAdminId(dmDealer.getCreateId());
- financialReceipt.setFrClaimDate(new Date());
- }
- }
- Integer flag = 0;
- try{
- flag = financialReceiptService.update(financialReceipt);
- }catch (Exception e){
- e.printStackTrace();
- rj = ResponseJson.getFAILURE();
- rj.setResultMsg("修改客户信息,失败原因:"+e.getMessage());
- return rj;
- }
- if(flag > 0){
- rj.setResultMsg("修改成功");
- return rj;
- }else{
- rj = ResponseJson.getFAILURE();
- return rj;
- }
- }
- /**
- * to修改客户页面
- * @return
- * @author
- * @date
- */
- @RequiresPermissions("dm:financialReceipt:recognize")
- @RequestMapping("/to_claim_delaer")
- public ModelAndView toClaimDelaer(HttpServletRequest request,Integer frId,Integer type) {
- ModelAndView mv = new ModelAndView("dm/financialReceipt/claim_delaer");
- mv.addObject("frId",frId);
- mv.addObject("type",type);
- FinancialReceipt fr = financialReceiptService.getFinancialReceiptById(frId);
- mv.addObject("fr",fr);
- //获取登录员工id
- Integer adminId = AdminUtils.getLoginAdminId();
- DmDealer dmDealer = new DmDealer();
- dmDealer.setDealerStatus(1);
- dmDealer.setCreateId(adminId);
- List<DmDealer> dmDealerList = dmDealerService.getDmDealerListToFr(dmDealer);
- mv.addObject("dmDealerList",dmDealerList);
- return mv;
- }
- /**
- * 修改认款
- * @param request
- * @return
- */
- @ResponseBody
- @RequiresPermissions("dm:financialReceipt:recognize")
- @RequestMapping("/claim_delaer")
- public ResponseJson claimDelaer(HttpServletRequest request,Integer frId,Integer dealerId,Integer type) {
- ResponseJson rj = ResponseJson.getSUCCESS();
- //1:已认领 2:未认领
- Integer flag = 0;
- if(type == 2){
- FinancialReceipt fr = new FinancialReceipt();
- fr.setFrId(frId);
- fr.setFrClaimDate(null);
- fr.setDealerId(null);
- fr.setFrClaimStatus(2);
- fr.setFrClaimAdminId(null);
- flag = financialReceiptService.update(fr);
- }else if(type == 1){
- Integer adminId = AdminUtils.getLoginAdminId();
- FinancialReceipt fr = new FinancialReceipt();
- fr.setFrId(frId);
- fr.setFrClaimDate(new Date());
- fr.setDealerId(dealerId);
- fr.setFrClaimStatus(1);
- fr.setFrClaimAdminId(adminId);
- flag = financialReceiptService.update(fr);
- }else{
- rj = ResponseJson.getFAILURE();
- rj.setResultMsg("绑定客户失败");
- return rj;
- }
- if(flag > 0){
- rj.setResultMsg("修改成功");
- return rj;
- }else{
- rj = ResponseJson.getFAILURE();
- return rj;
- }
- }
- /**
- * to修改客户页面
- * @return
- * @author
- * @date
- */
- @RequiresPermissions("dm:financialReceipt:recognize")
- @RequestMapping("/to_order_desc")
- public ModelAndView toOrderDesc(HttpServletRequest request,Integer frId) {
- ModelAndView mv = new ModelAndView("dm/financialReceipt/order_desc");
- mv.addObject("frId",frId);
- FinancialReceipt fr = financialReceiptService.getFinancialReceiptById(frId);
- mv.addObject("fr",fr);
- ClaimOrder claimOrder = new ClaimOrder();
- claimOrder.setFrId(frId);
- List<ClaimOrder> claimOrderList = claimOrderService.getClaimOrderList(claimOrder);
- mv.addObject("claimOrderList",claimOrderList);
- return mv;
- }
- /**
- * 绑定订单
- * @param request
- * @return
- */
- @ResponseBody
- @RequiresPermissions("dm:financialReceipt:recognize")
- @RequestMapping("/claim_order")
- public ResponseJson claimOrder(HttpServletRequest request,Integer frId,String claimOrderJson) {
- ResponseJson rj = ResponseJson.getSUCCESS();
- List<ClaimOrder> claimOrderList = new ArrayList<>();
- if(claimOrderJson != null && !"".equals(claimOrderJson)){
- JSONArray jsonArray = JSONArray.fromObject(claimOrderJson);
- claimOrderList = (List) JSONArray.toCollection(jsonArray, ClaimOrder.class);
- }else{
- rj = ResponseJson.getFAILURE();
- return rj;
- }
- //删除所有绑定的订单
- claimOrderService.deleteByFrId(frId);
- for (ClaimOrder claimOrder:claimOrderList) {
- claimOrder.setFrId(frId);
- }
- Integer flag = claimOrderService.saveList(claimOrderList);
- if(flag > 0){
- FinancialReceipt financialReceipt = new FinancialReceipt();
- financialReceipt.setFrId(frId);
- financialReceipt.setFrClaimStatus(3);
- financialReceiptService.update(financialReceipt);
- }
- if(flag > 0){
- rj.setResultMsg("绑定成功");
- return rj;
- }else{
- rj = ResponseJson.getFAILURE();
- return rj;
- }
- }
- /**
- * 获取订单集合
- * @param request
- * @param salesOrder
- * @return
- */
- @ResponseBody
- @RequestMapping(value = "/fr_select_order_desc")
- public ResponseJson selectOrderDesc(HttpServletRequest request, SalesOrder salesOrder, String ids,Integer frId,Integer dealerId) {
- if (ids != null && ids.indexOf("_") > -1) {
- String[] salesIds = ids.split("_");
- salesOrder.setSalesIds(salesIds);
- }
- List<SalesOrder> salesOrderList = salesOrderService.salesOrderListAndItem(salesOrder);
- // DmDealer dmDealer = dmDealerService.getDmDealerById(dealerId);
- // // 是否自营 1:自营 2:非自营
- // if(dmDealer.getDealerSelfOperated() == 2){
- // DealerChannel dealerChannel = new DealerChannel();
- // dealerChannel.setDealerId(dealerId);
- // List<DealerChannel> dealerChannelList = dealerChannelService.getDealerChannelList(dealerChannel);
- //
- // DealerProduct dealerProduct = new DealerProduct();
- // dealerProduct.setDealerId(dealerId);
- // List<DealerProduct> dealerProductList = dealerProductService.getDealerProductAndStoreList(dealerProduct);
- //
- // for (SalesOrder so : salesOrderList) {
- // for (SalesOrderItem salesOrderItem:so.getSalesOrderItemList()) {
- // salesOrderItem.setItemTotal(0);
- // for (DealerProduct dp:dealerProductList) {
- // if(Objects.equals(salesOrderItem.getItemColorId(), dp.getColorId())){
- // if(dp.getDealProdStoreArea() == 1){
- // //店铺范围 1:全部店铺
- // for (DealerChannel dc:dealerChannelList) {
- // if(Objects.equals(dc.getStoreId(), so.getSalesStoreId())){
- // salesOrderItem.setItemTotal(salesOrderItem.getItemNum() * dp.getDealProdPrice());
- // break;
- // }
- // }
- // }else if (dp.getDealProdStoreArea() == 2){
- // //2:部分店铺
- // for (DealerProductStore dps:dp.getDealerProductStoreList()) {
- // if(Objects.equals(so.getSalesStoreId(), dps.getStoreId())){
- // salesOrderItem.setItemTotal(salesOrderItem.getItemNum() * dp.getDealProdPrice());
- // break;
- // }
- // }
- // }
- // break;
- // }
- // }
- // }
- // }
- // }
- ResponseJson rj = new ResponseJson(200, "查询成功", 200);
- rj.addResponseKeyValue("salesOrderList", salesOrderList);
- return rj;
- }
- /**
- * 到选择订单页面
- * @param request
- * @return
- */
- @RequestMapping("/to_select_order")
- public ModelAndView toSelectOrder(HttpServletRequest request){
- ModelAndView mv = new ModelAndView("dm/financialReceipt/select_order_list");
- List<ProductColor> productColorList = productService.listproductAndColor(new ProductColor());
- SalesOrder salesOrder = new SalesOrder();
- String salesStatusStr = request.getParameter("salesStatus");
- if(salesStatusStr != null && !"".equals(salesStatusStr)){
- salesOrder.setSalesStatus(Integer.valueOf(salesStatusStr));
- }
- String orderIscostTotal = request.getParameter("orderIscostTotal");
- if(orderIscostTotal != null && !"".equals(orderIscostTotal)){
- salesOrder.setOrderIscostTotal(Integer.valueOf(orderIscostTotal));
- }
- //获取销售公司
- // List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
- // mv.addObject("companyInfoList", companyInfoList);
- DmDealer dmDealer = new DmDealer();
- dmDealer.setDealerStatus(1);
- List<DmDealer> dmDealerList = dmDealerService.getDmDealerList(dmDealer);
- mv.addObject("dmDealerList", dmDealerList);
- mv.addObject("productColorList", productColorList);
- mv.addObject("salesOrder", salesOrder);
- return mv;
- }
- /**
- * 到选择订单页面
- * @param request
- * @return
- */
- @RequestMapping("/to_select_post")
- public ModelAndView toSelectPost(HttpServletRequest request,Integer dealerId){
- ModelAndView mv = new ModelAndView("dm/financialReceipt/select_post_list");
- //获取销售公司
- // List<CompanyInfo> companyInfoList = companyInfoService.listCompanyInfo(new CompanyInfo());
- // mv.addObject("companyInfoList", companyInfoList);
- DmDealer dmDealer = new DmDealer();
- dmDealer.setDealerStatus(1);
- List<DmDealer> dmDealerList = dmDealerService.getDmDealerList(dmDealer);
- mv.addObject("dmDealerList", dmDealerList);
- mv.addObject("dealerId", dealerId);
- return mv;
- }
- /**
- * 获取店铺集合
- * @param request
- * @param storeInfo
- * @return
- */
- @ResponseBody
- @RequestMapping(value = "/select_storeInfo_by_dealer")
- public ResponseJson selectStoreInfoByDealer(HttpServletRequest request, StoreInfo storeInfo) {
- storeInfo.setStoreStatus(1);
- List<StoreInfo> storeInfoList = storeInfoService.listStoreByDealer(storeInfo);
- ResponseJson rj = new ResponseJson(200, "查询成功", 200);
- rj.addResponseKeyValue("storeInfoList", storeInfoList);
- return rj;
- }
- /**
- * 删除收款
- * @param request
- * @param frId
- * @return
- */
- @ResponseBody
- @RequiresPermissions("dm:financialReceipt:delete")
- @RequestMapping(value = "/delete_fr")
- public ResponseJson deleteFr(HttpServletRequest request, Integer frId) {
- Integer flag = financialReceiptService.delete(frId);
- if(flag > 0){
- ResponseJson rj = ResponseJson.getSUCCESS();
- return rj;
- }else{
- ResponseJson rj = ResponseJson.getFAILURE();
- return rj;
- }
- }
- /**
- * 获取邮费列表
- * @param request
- * @return
- */
- @ResponseBody
- @RequestMapping(value = "/select_post")
- public ResponseJson selectPost(HttpServletRequest request,PostageInfo postageInfo,
- @RequestParam(value = "pageSize", defaultValue = "100", required = false) Integer pageSize,
- @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
- @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
- ResponseJson rj = new ResponseJson(200, "查询成功", 200);
- // 封装请求数据
- PageRequest<PostageInfo> pageRequest = new PageRequest<>(postageInfo, pageNO, pageSize, totalNum == 0);
- // 查询订单列表
- PagedResult<PostageInfo> pagedResult = financialReceiptService.getPostageInfoList(pageRequest);
- if (totalNum != 0) {
- pagedResult.setTotal(totalNum);
- }
- rj.addResponseKeyValue("pagedResult", pagedResult);
- return rj;
- }
- /**
- * 查询客户基本信息列表
- *
- * @return
- * @author
- * @date
- */
- @RequiresPermissions("dm:FinancialReceipt:statistic")
- @RequestMapping("/fr_statistic")
- public ModelAndView frStatistic(HttpServletRequest request, DmDealer dmDealer,
- @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
- @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
- @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
- ModelAndView mv = new ModelAndView("dm/financialReceipt/fr_statistics");
- // 封装请求数据
- PageRequest<DmDealer> pageRequest = new PageRequest<>(dmDealer, pageNO, pageSize, totalNum == 0);
- // 查询订单列表
- long x = System.currentTimeMillis();
- PagedResult<DmDealer> result = dmDealerService.listDmDealerStatistic(pageRequest);
- long y = System.currentTimeMillis();
- System.out.println("long tima : " + (y-x));
- if (totalNum != 0) {
- result.setTotal(totalNum);
- }
- StitchAttrUtil.getSa()
- .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
- .addNoPro("dealerContactList","dealerChannelList","dealerProductList","cooperationAgreeList")
- .setModelAndView(dmDealer, mv, "/admin/financial_receipt/fr_statistic", result);
- List<DmDealer> dmDealerList = dmDealerService.getDmDealerList(new DmDealer());
- mv.addObject("dmDealerList",dmDealerList);
- return mv;
- }
- }
|