package com.matrix.system.shopXcx.action; 
 | 
  
 | 
import com.matrix.core.constance.MatrixConstance; 
 | 
import com.matrix.core.constance.SystemMessageCode; 
 | 
import com.matrix.core.pojo.PaginationVO; 
 | 
import com.matrix.core.tools.ModelUtils; 
 | 
import com.matrix.core.tools.StringUtils; 
 | 
import com.matrix.core.constance.SystemErrorCode; 
 | 
import com.matrix.core.anotations.RemoveRequestToken; 
 | 
import com.matrix.system.common.bean.SysUsers; 
 | 
import com.matrix.system.common.constance.AppConstance; 
 | 
import com.matrix.system.hive.action.util.QueryUtil; 
 | 
import com.matrix.system.shopXcx.dao.ShopInvoiceDao; 
 | 
import org.springframework.beans.propertyeditors.CustomDateEditor; 
 | 
import org.springframework.stereotype.Controller; 
 | 
import com.matrix.core.exception.GlobleException; 
 | 
import org.springframework.web.bind.WebDataBinder; 
 | 
import org.springframework.web.bind.annotation.InitBinder; 
 | 
import org.springframework.web.bind.annotation.RequestMapping; 
 | 
import org.springframework.web.bind.annotation.ResponseBody; 
 | 
import com.matrix.core.anotations.SaveRequestToken; 
 | 
import com.matrix.core.pojo.AjaxResult; 
 | 
import com.matrix.core.tools.WebUtil; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
  
 | 
import java.text.SimpleDateFormat; 
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
import com.matrix.system.shopXcx.bean.ShopInvoice; 
 | 
import org.springframework.web.servlet.ModelAndView; 
 | 
  
 | 
/** 
 | 
 * @description 发票 
 | 
 * @author jiangyouyao 
 | 
 * @date 2019-06-15 11:47 
 | 
 */ 
 | 
@Controller 
 | 
@RequestMapping(value = "admin/shopInvoice") 
 | 
public class ShopInvoiceAction { 
 | 
  
 | 
    @Autowired 
 | 
    private ShopInvoiceDao shopInvoiceDao; 
 | 
     
 | 
    //记录编辑前的值Before_Edit_Value 
 | 
    public static final String BEV="ShopInvoice_BEV"; 
 | 
     
 | 
     
 | 
    /** 
 | 
     * 列表显示 
 | 
     */ 
 | 
    @RequestMapping(value =  "/showList") 
 | 
    public @ResponseBody AjaxResult showList(ShopInvoice shopInvoice, PaginationVO pageVo) { 
 | 
        QueryUtil.setQueryLimitCom(shopInvoice); 
 | 
        List<ShopInvoice> dataList = shopInvoiceDao.selectInPage(shopInvoice, pageVo); 
 | 
        AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, 
 | 
                shopInvoiceDao.selectTotalRecord(shopInvoice)); 
 | 
        return result; 
 | 
    } 
 | 
        
 | 
    /** 
 | 
     * 新增 
 | 
     */    
 | 
    @RemoveRequestToken     
 | 
       @RequestMapping(value =  "/addShopInvoice") 
 | 
    public @ResponseBody AjaxResult addShopInvoice(ShopInvoice shopInvoice) { 
 | 
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); 
 | 
        shopInvoice.setCreateBy(user.getSuName()); 
 | 
        shopInvoice.setUpdateBy(user.getSuName()); 
 | 
        shopInvoice.setCompanyId(user.getCompanyId()); 
 | 
         int i=shopInvoiceDao.insert(shopInvoice); 
 | 
         if(i > 0){ 
 | 
             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, "发票"); 
 | 
         }else { 
 | 
            throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL); 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 
 | 
     * @Description (TODO 自定义数据绑定, 解决此问题) 
 | 
     * @param binder 
 | 
     */ 
 | 
    @InitBinder 
 | 
    public void initBinder(WebDataBinder binder) { 
 | 
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
 | 
        dateFormat.setLenient(false); 
 | 
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); 
 | 
    } 
 | 
     
 | 
     
 | 
    /** 
 | 
     * 修改 
 | 
     */    
 | 
    @RemoveRequestToken     
 | 
       @RequestMapping(value =  "/modifyShopInvoice") 
 | 
    public @ResponseBody AjaxResult modifyShopInvoice(ShopInvoice newShopInvoice) { 
 | 
           ShopInvoice oldShopInvoice = WebUtil.getSessionAttribute(BEV); 
 | 
        int i = 0; 
 | 
        Map<String, Object> modifyMap = null; 
 | 
        try { 
 | 
            if (!ModelUtils.isModified(oldShopInvoice, newShopInvoice)) { 
 | 
                i = MatrixConstance.DML_SUCCESSS; 
 | 
            } 
 | 
            modifyMap = ModelUtils.comparePojo2Map(oldShopInvoice, newShopInvoice); 
 | 
        } catch (Exception e) { 
 | 
            throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL, e, newShopInvoice); 
 | 
        } 
 | 
        if (modifyMap.size() > 0) { 
 | 
            if(null != newShopInvoice.getInvoExpressCode() && !"".equals(newShopInvoice.getInvoExpressCode())){ 
 | 
                modifyMap.put("invoState", AppConstance.SENDBYPOST); 
 | 
            } 
 | 
            modifyMap.put("invoId", oldShopInvoice.getInvoId()); 
 | 
            shopInvoiceDao.updateByMap(modifyMap); 
 | 
        } 
 | 
        i = MatrixConstance.DML_SUCCESSS; 
 | 
        WebUtil.removeSessionAttribute(BEV); 
 | 
        if (i > 0) { 
 | 
            return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "发票"); 
 | 
        } else { 
 | 
            throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL); 
 | 
        } 
 | 
    } 
 | 
     
 | 
     
 | 
     
 | 
     
 | 
       /** 
 | 
     * 进入修改界面 
 | 
     */    
 | 
    @SaveRequestToken 
 | 
       @RequestMapping(value =  "/editForm") 
 | 
    public ModelAndView editForm(Integer id) { 
 | 
        ShopInvoice shopInvoice = new ShopInvoice(); 
 | 
        ModelAndView modelAndView = new ModelAndView("admin/shop/shopInvoice-form"); 
 | 
        if (id != null) { 
 | 
            shopInvoice = shopInvoiceDao.selectById(id); 
 | 
            WebUtil.setSessionAttribute(BEV, shopInvoice); 
 | 
        } 
 | 
        modelAndView.addObject("obj",shopInvoice); 
 | 
        return modelAndView; 
 | 
    } 
 | 
        
 | 
        
 | 
       /** 
 | 
     * 删除 
 | 
     */   
 | 
     @RequestMapping(value = "/del") 
 | 
    public @ResponseBody AjaxResult del(String keys) { 
 | 
        List<String> ids = StringUtils.strToCollToString(keys, ","); 
 | 
        int i =  shopInvoiceDao.deleteByIds(ids); 
 | 
        if (i > 0) { 
 | 
            return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i); 
 | 
        } else { 
 | 
            throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL); 
 | 
        } 
 | 
    } 
 | 
   
 | 
} 
 |