| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- package cn.com.lzt.budget.data.controller;
- import cn.com.lzt.budget.control.entity.BudgetControlDetailEntity;
- import cn.com.lzt.budget.control.service.BudgetControlServiceI;
- import cn.com.lzt.budget.data.service.BudgetDataService;
- import cn.com.lzt.budget.measure.entity.BudgetMeasureEntity;
- import cn.com.lzt.common.util.DictUtil;
- import cn.com.lzt.goodscategory.entity.TBGoodsCategoryEntity;
- import cn.com.lzt.goodsinfo.entity.TBGoodsInfoEntity;
- import cn.com.lzt.priceinfo.entity.TBPriceInfoEntity;
- import cn.com.lzt.relatedunits.entity.RelatedUnitsEntity;
- import org.apache.commons.lang.xwork.StringUtils;
- import org.hibernate.criterion.Disjunction;
- import org.hibernate.criterion.Restrictions;
- import org.jeecgframework.core.common.exception.BusinessException;
- import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
- import org.jeecgframework.core.common.model.json.AjaxJson;
- import org.jeecgframework.core.common.model.json.DataGrid;
- import org.jeecgframework.core.constant.Globals;
- import org.jeecgframework.core.util.MyClassLoader;
- import org.jeecgframework.core.util.SendMailUtil;
- import org.jeecgframework.core.util.oConvertUtils;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.web.system.pojo.base.TSDepart;
- import org.jeecgframework.web.system.service.SystemService;
- 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 javax.servlet.http.HttpServletResponse;
- import java.util.Collections;
- import java.util.List;
- import java.util.Map;
- @Controller
- @RequestMapping("/budgetDataController")
- public class BudgetDataController {
- @Autowired
- private SystemService systemService;
- @Autowired
- private BudgetDataService budgetDataService;
- @Autowired
- private BudgetControlServiceI budgetControlService;
- @RequestMapping(params = "selectReferGoods4Budget")
- public ModelAndView selectReferGoods4Budget(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/budget/data/select-goodsInfo");
- String ids = oConvertUtils.getString(request.getParameter("ids"));
- mv.addObject("ids", ids);
- // 需要将前端的类路径传递到refer页面
- String clsname = oConvertUtils.getString(request.getParameter("classname"));
- mv.addObject("classname", clsname);
- mv.addObject("warehouseid", oConvertUtils.getString(request.getParameter("warehouseid")));
- mv.addObject("codefield", oConvertUtils.getString(request.getParameter("codefield")));
- mv.addObject("categoryfield",oConvertUtils.getString(request.getParameter("categoryfield")));
- mv.addObject("categoryNamefield",oConvertUtils.getString(request.getParameter("categoryNamefield")));
- mv.addObject("namefield", oConvertUtils.getString(request.getParameter("namefield")));
- mv.addObject("purchaseUnit", oConvertUtils.getString(request.getParameter("purchaseUnit")));
- mv.addObject("specification", oConvertUtils.getString(request.getParameter("specification")));
- mv.addObject("goodsDesc", oConvertUtils.getString(request.getParameter("goodsDesc")));
- mv.addObject("supplierName", oConvertUtils.getString(request.getParameter("supplierName")));
- mv.addObject("strEmpty", oConvertUtils.getString(request.getParameter("strEmpty")));
- return mv;
- }
- @SuppressWarnings("rawtypes")
- @RequestMapping(params = "selRefDatagridGoods")
- public void selRefDatagridGoods(String classname, TBGoodsInfoEntity tBGoodsInfoEntity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- String warehouseid = request.getParameter("warehouseid");
- Class cls = MyClassLoader.getClassByScn(classname);
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- //如果有仓库信息传入,则只查询此仓库有的货品
- if(StringUtils.isNotEmpty(warehouseid)) {
- List<String> goodsIDList = systemService.findListbySql("select goods_id from t_b_onhand where warehouse_id = '"+warehouseid+"' and quantity > 0");
- if(goodsIDList.size() > 0) {
- cq.in("id", goodsIDList.toArray());
- }else {
- cq.eq("id", "1");
- }
- }
- //查询条件组装器
- //自定义追加查询条件
- String status = request.getParameter("status");
- String[] unitstate;
- if(StringUtils.isNotBlank(status)){
- unitstate = StringUtils.split(status,",");
- }else {
- unitstate = new String[]{Globals.Enable_Normal};
- }
- cq.in("status", unitstate);
- cq.eq("deleteFlag", Globals.Delete_Normal.toString());
- String initCategoryCodes = request.getParameter("initCategoryCode");
- if(StringUtils.isNotBlank(initCategoryCodes)){
- //模糊查询
- String[] initCategoryCodesArray =initCategoryCodes.split(",");
- Disjunction dis = Restrictions.disjunction();
- for(String initCategoryCode : initCategoryCodesArray){
- dis.add(Restrictions.like("belongCategoryCode", initCategoryCode+"%" ));
- }
- cq.add(dis);
- }
- // 检索用货品分类编码
- if(StringUtils.isNotBlank(tBGoodsInfoEntity.getBelongCategoryCode())){
- //模糊查询
- cq.like("belongCategoryCode", "%"+tBGoodsInfoEntity.getBelongCategoryCode()+"%");
- }
- // 检索用货品名称
- if(StringUtils.isNotBlank(tBGoodsInfoEntity.getGoodsName())){
- //模糊查询
- cq.like("goodsName", "%"+tBGoodsInfoEntity.getGoodsName()+"%");
- }
- // 检索用货品名称
- if(StringUtils.isNotBlank(tBGoodsInfoEntity.getSpecification())){
- //模糊查询
- cq.like("specification", "%"+tBGoodsInfoEntity.getSpecification()+"%");
- }
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cls.newInstance());
- systemService.getDataGridReturn(cq, true);
- List result = dataGrid.getResults();
- if(result != null && result.size() > 0){
- Collections.sort(result);
- TBGoodsInfoEntity goodsInfoEntity = null;
- TBPriceInfoEntity tBPriceInfoEntity = null;
- for(int i = 0 ;i < result.size();i++){
- goodsInfoEntity = (TBGoodsInfoEntity)result.get(i);
- if(StringUtils.isNotEmpty(goodsInfoEntity.getDefaultProvider()) && cq.getField().indexOf("supplierName") > -1) {
- RelatedUnitsEntity entity = systemService.get(RelatedUnitsEntity.class, goodsInfoEntity.getDefaultProvider());
- if(entity != null) {
- goodsInfoEntity.setSupplierName(entity.getUnitName());
- }
- }
- goodsInfoEntity.setGoodsDesc("");
- //获取参数
- Object id0 = goodsInfoEntity.getId();
- String cateID = goodsInfoEntity.getBelongCategory();
- TBGoodsCategoryEntity cate = systemService.get(TBGoodsCategoryEntity.class, cateID);
- goodsInfoEntity.setBelongCategoryName(dealCateName(cate.getCategoryCode(), cate.getCategoryName()));
- String hql0 = "from TBPriceInfoEntity where 1 = 1 AND GOODS_ID =? ";
- List<TBPriceInfoEntity> tBPriceInfoEntityList = systemService.findHql(hql0,id0);
- if(tBPriceInfoEntityList != null && tBPriceInfoEntityList.size() > 0){
- for(int j = 0 ;j < tBPriceInfoEntityList.size();j++){
- tBPriceInfoEntity = new TBPriceInfoEntity();
- tBPriceInfoEntity = tBPriceInfoEntityList.get(j);
- if(goodsInfoEntity.getPurchaseUnit()!= null && tBPriceInfoEntity.getMeteringUnit() != null && goodsInfoEntity.getPurchaseUnit().equals(tBPriceInfoEntity.getMeteringUnit())){
- goodsInfoEntity.setCostPrice(tBPriceInfoEntity.getRetailPrice());
- break;
- }
- }
- }
- }
- }
- try {
- //result =systemService.dealResultShowText4Entities(dataGrid.getResults(), cls);
- } catch (Exception e) {
- throw new BusinessException(e);
- }
- dataGrid.setResults(result);
- TagUtil.datagrid(response, dataGrid);
- }
- private String dealCateName(String categoryCode, String categoryName) {
- if(categoryCode.contains("rootA01")) {
- categoryName = "工程类-" + categoryName;
- }else if(categoryCode.contains("rootA02")) {
- categoryName = "保洁类-" + categoryName;
- }else if(categoryCode.contains("rootA03")) {
- categoryName = "办公类-" + categoryName;
- }
- return categoryName;
- }
- @RequestMapping(params = "selectClothing")
- public ModelAndView selectClothing(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/budget/data/select-clothing");
- return mv;
- }
- @SuppressWarnings("rawtypes")
- @RequestMapping(params = "selectClothingDatagrid")
- public void selectClothingDatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 获得预算编制数和执行数
- * @param request
- * @param yearMonth
- * @param departId
- * @param measureId
- * @param busType
- * @param includeTax
- * @param expect
- * @return
- */
- @RequestMapping(params = "getExpectActualValue")
- @ResponseBody
- public AjaxJson getExpectActualValue(HttpServletRequest request
- , @RequestParam("yearMonth") String yearMonth
- , @RequestParam("departId") String departId
- , @RequestParam("measureId") String measureId
- , @RequestParam("busType") String busType
- , @RequestParam(value = "updateId",required = false) String updateId
- , @RequestParam(value="includeTax",required = false,defaultValue = Globals.YES) Integer includeTax
- , @RequestParam(value="expect",required = false,defaultValue = Globals.YES) Integer expect
- ) {
- AjaxJson json = new AjaxJson();
- Map<String,Object> map = budgetDataService.getExpectActualValueByBus(busType,updateId,yearMonth , departId,measureId,includeTax);
- json.setObj(map);
- return json;
- }
- @RequestMapping(params = "goOverBudgetTip")
- public ModelAndView goOverBudgetTip(HttpServletRequest request) {
- String measureId = request.getParameter("measureId");
- BudgetMeasureEntity measureEntity = systemService.get(BudgetMeasureEntity.class, measureId);
- request.setAttribute("measureEntity", measureEntity);
- String departId = request.getParameter("departId");
- String entityId = budgetDataService.findEntityByDepartId(departId);
- BudgetControlDetailEntity controlDetailEntity = budgetControlService.getBudgetControl(entityId,measureId);
- String controlPeriod = DictUtil.formatToTypeName(controlDetailEntity.getControlPeriod(),"budget_control_period");
- request.setAttribute("controlPeriod",controlPeriod );
- ModelAndView mv = new ModelAndView("cn/com/lzt/budget/data/over-budget-tip");
- return mv;
- }
- @RequestMapping(params = "doOverBudgetTip")
- @ResponseBody
- public AjaxJson doOverBudgetTip(HttpServletRequest request) {
- AjaxJson j = new AjaxJson();
- String to="zhengying99@dingshantech.com";
- String departId = request.getParameter("departId");
- String measureId = request.getParameter("measureId");
- String expectValue = request.getParameter("expectValue");
- String actualValue = request.getParameter("actualValue");
- String baseLeft = request.getParameter("baseLeft");
- String money = request.getParameter("money");
- String budgetMonth = request.getParameter("budgetMonth");
- String txt = request.getParameter("txt");
- TSDepart depart = systemService.get(TSDepart.class, departId);
- BudgetMeasureEntity measureEntity = systemService.get(BudgetMeasureEntity.class, measureId);
- String entityId = budgetDataService.findEntityByDepartId(departId);
- BudgetControlDetailEntity controlDetailEntity = budgetControlService.getBudgetControl(entityId,measureId);
- String controlPeriod = DictUtil.formatToTypeName(controlDetailEntity.getControlPeriod(),"budget_control_period");
- String subject=depart.getGlcName()+"预算调整申请";
- String messsage = "周长丽你好,\n" +
- "\n" +
- "\n" +
- "“%s”现申请调整预算额度,详情如下。\n" +
- "预算指标:%s\n" +
- "已配置预算:%s\n" +
- "控制方式:%s\n" +
- "剩余额度:%s\n" +
- "申请增加金额:%s\n" +
- "费用发生月份:%s\n" +
- "申请理由:%s\n" +
- "\n" +
- "\n" +
- "\n" +
- "\n" +
- "\n" +
- "\n" +
- "慧管理平台\n";
- messsage = String.format(messsage,depart.getGlcName(),measureEntity.getName(),expectValue,controlPeriod,
- baseLeft,money,budgetMonth,txt );
- SendMailUtil.sendCommonMail(to, subject, messsage);
- String logMsg = "overBudgetTip: to :"+to+","+messsage;
- systemService.addLog(logMsg, Globals.Log_Type_OTHER, Globals.Log_Leavel_INFO);
- return j;
- }
- }
|