package com.caimei.modules.bulkpurchase.web; import com.caimei.modules.bulkpurchase.entity.CmFinanceCharge; import com.caimei.modules.bulkpurchase.entity.CmFinanceChargeStages; import com.caimei.modules.bulkpurchase.entity.OrderProduct; import com.caimei.modules.bulkpurchase.entity.OrderStages; import com.caimei.modules.bulkpurchase.service.CmFinanceChargeService; import com.caimei.modules.bulkpurchase.service.CmFinanceChargeStagesService; import com.caimei.modules.bulkpurchase.service.OrderProductService; import com.caimei.modules.bulkpurchase.service.OrderStagesService; import com.thinkgem.jeesite.common.config.Global; import com.thinkgem.jeesite.common.persistence.Page; import com.thinkgem.jeesite.common.utils.StringUtils; import com.thinkgem.jeesite.common.web.BaseController; import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * 出账信息Controller * @author LiJun * @version 2017-06-04 */ @Controller @RequestMapping(value = "${adminPath}/bulkpurchase/cmFinanceCharge") public class CmFinanceChargeController extends BaseController { @Autowired private CmFinanceChargeService cmFinanceChargeService; @Autowired private OrderProductService orderProductService; @Autowired private OrderStagesService orderStagesService; @Autowired private CmFinanceChargeStagesService cmFinanceChargeStagesService; @ModelAttribute public CmFinanceCharge get(@RequestParam(required=false) String id) { CmFinanceCharge entity = null; if (StringUtils.isNotBlank(id)){ entity = cmFinanceChargeService.get(id); } if (entity == null){ entity = new CmFinanceCharge(); } return entity; } @RequiresPermissions("bulkpurchase:cmFinanceCharge:view") @RequestMapping(value = {"list", ""}) public String list(CmFinanceCharge cmFinanceCharge, HttpServletRequest request, HttpServletResponse response, Model model) { if(StringUtils.isNotEmpty(cmFinanceCharge.getStartTime())){ model.addAttribute("startTime", cmFinanceCharge.getStartTime()); cmFinanceCharge.setStartTime(cmFinanceCharge.getStartTime()+" 00:00:00"); } if(StringUtils.isNotEmpty(cmFinanceCharge.getEndTime())){ model.addAttribute("endTime", cmFinanceCharge.getEndTime()); cmFinanceCharge.setEndTime(cmFinanceCharge.getEndTime()+" 23:59:59"); } Page page = new Page(request, response) ; page.setOrderBy(" a.id DESC , a.createDate DESC "); Page FCPage = cmFinanceChargeService.findPage(page, cmFinanceCharge); List list = FCPage.getList(); // 将进账信息列中的产品id展示为产品名 for(CmFinanceCharge financeCharge:list){ String productIds = financeCharge.getProductIds(); if (null != financeCharge.getStagesId()){ OrderStages orderStages = orderStagesService.get(financeCharge.getStagesId()+""); financeCharge.setProductName("第 "+orderStages.getNum()+" 期"); //应付供应商 List cmFinanceChargeList = FCPage.getList(); for (CmFinanceCharge charge : cmFinanceChargeList) { CmFinanceChargeStages chargeStages = new CmFinanceChargeStages(); chargeStages.setChargeId(Integer.parseInt(charge.getId())); List chargeStagesList = cmFinanceChargeStagesService.findList(chargeStages); if (CollectionUtils.isNotEmpty(chargeStagesList)){ charge.setCmFinanceChargeStagesList(chargeStagesList); } } }else { String productIdString = StringUtils.replace(productIds, ",", ","); String[] productIdsArray = StringUtils.split(productIdString, ","); if ( null != productIdsArray && productIdsArray.length > 0) { StringBuffer productNameBuffer = new StringBuffer(); for (String productId : productIdsArray) { OrderProduct OrderProduct = orderProductService.getProductNameByOrderproductId(productId); if (null != OrderProduct) { productNameBuffer.append(OrderProduct.getName() + " "); } } financeCharge.setProductName(productNameBuffer.toString()); } } } model.addAttribute("page", FCPage); return "modules/bulkpurchase/cmFinanceChargeList"; } @RequiresPermissions("bulkpurchase:cmFinanceCharge:view") @RequestMapping(value = "form") public String form(CmFinanceCharge cmFinanceCharge, Model model) { model.addAttribute("cmFinanceCharge", cmFinanceCharge); return "modules/bulkpurchase/cmFinanceChargeForm"; } @RequiresPermissions("bulkpurchase:cmFinanceCharge:edit") @RequestMapping(value = "save") public String save(CmFinanceCharge cmFinanceCharge, Model model, RedirectAttributes redirectAttributes) { if (!beanValidator(model, cmFinanceCharge)){ return form(cmFinanceCharge, model); } cmFinanceChargeService.save(cmFinanceCharge); addMessage(redirectAttributes, "保存出账信息成功"); return "redirect:"+Global.getAdminPath()+"/bulkpurchase/cmFinanceCharge/?repage"; } @RequiresPermissions("bulkpurchase:cmFinanceCharge:delete") @RequestMapping(value = "delete") public String delete(CmFinanceCharge cmFinanceCharge, RedirectAttributes redirectAttributes) { cmFinanceChargeService.delete(cmFinanceCharge); addMessage(redirectAttributes, "删除出账信息成功"); return "redirect:"+Global.getAdminPath()+"/bulkpurchase/cmFinanceCharge/?repage"; } }