| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423 |
- package cn.com.lzt.purchase.controller;
- import java.beans.PropertyDescriptor;
- import java.io.IOException;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- import java.math.RoundingMode;
- import java.net.URI;
- import java.text.NumberFormat;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Collection;
- import java.util.Collections;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.zip.ZipEntry;
- import java.util.zip.ZipOutputStream;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import javax.validation.ConstraintViolation;
- import javax.validation.Validator;
- import cn.com.lzt.common.util.LztUtil;
- import cn.com.lzt.common.view.JsonDataModelAndView;
- import cn.com.lzt.useractiviti.data.util.ActivitiTools;
- import com.jeecg.qianbao.util.FormProcUtil;
- import com.xcgl.weixin.entity.WXAjaxJson;
- import org.apache.commons.lang.xwork.StringUtils;
- import org.apache.log4j.Logger;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- import org.apache.poi.ss.usermodel.Workbook;
- import org.jeecgframework.core.beanvalidator.BeanValidators;
- import org.jeecgframework.core.common.controller.BaseController;
- import org.jeecgframework.core.common.dao.ICommonDao;
- 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.ContextHolderUtils;
- import org.jeecgframework.core.util.DateUtils;
- import org.jeecgframework.core.util.ExceptionUtil;
- import org.jeecgframework.core.util.MyBeanUtils;
- import org.jeecgframework.core.util.MyClassLoader;
- import org.jeecgframework.core.util.ResourceUtil;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.core.util.oConvertUtils;
- import org.jeecgframework.poi.excel.ExcelExportUtil;
- import org.jeecgframework.poi.excel.ExcelImportUtil;
- import org.jeecgframework.poi.excel.entity.ExportParams;
- import org.jeecgframework.poi.excel.entity.ImportParams;
- import org.jeecgframework.poi.excel.entity.TemplateExportParams;
- import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
- import org.jeecgframework.poi.excel.export.styler.ExcelExportStylerBorderImpl;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.tag.vo.datatable.SortDirection;
- import org.jeecgframework.web.system.dao.JeecgDictDao;
- import org.jeecgframework.web.system.pojo.base.DictEntity;
- import org.jeecgframework.web.system.pojo.base.TSBaseUser;
- import org.jeecgframework.web.system.pojo.base.TSDepart;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpHeaders;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.MediaType;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import org.springframework.web.multipart.MultipartHttpServletRequest;
- import org.springframework.web.servlet.ModelAndView;
- import org.springframework.web.util.UriComponentsBuilder;
- import cn.com.lzt.clothing.base.entity.TBClothingRelatedUnitPriceEntity;
- import cn.com.lzt.common.util.OrdersExcelExportOfTemplateUtil;
- import cn.com.lzt.goodscategory.entity.TBGoodsCategoryEntity;
- import cn.com.lzt.goodsinfo.entity.TBGoodsInfoEntity;
- import cn.com.lzt.goodsinfo.entity.TBGoodsRelatedUnitPriceEntity;
- import cn.com.lzt.logistics.entity.TBLogisticsEntity;
- import cn.com.lzt.orders.entity.OrderMonthsEntity;
- import cn.com.lzt.orders.entity.OrdersEntity;
- import cn.com.lzt.ordersfixasset.entity.OrderFixAssetProductsEntity;
- import cn.com.lzt.ordersfixasset.entity.OrdersFixAssetEntity;
- import cn.com.lzt.ordersfixasset.page.OrdersFixAssetPage;
- import cn.com.lzt.priceinfo.entity.TBPriceInfoEntity;
- import cn.com.lzt.purchase.dao.POrderDao;
- import cn.com.lzt.purchase.dto.GoodsCode;
- import cn.com.lzt.purchase.dto.OrderToDeliverListDto;
- import cn.com.lzt.purchase.dto.OrderToLeyiDto;
- import cn.com.lzt.purchase.dto.OrderToQingyuDto;
- import cn.com.lzt.purchase.dto.OrderToSupplierAllGoodsDto;
- import cn.com.lzt.purchase.dto.OrderToSupplierDto;
- import cn.com.lzt.purchase.dto.OrderToYunjieDto;
- import cn.com.lzt.purchase.entity.POrdersEntity;
- import cn.com.lzt.purchase.page.POrdersPage;
- import cn.com.lzt.purchase.service.POrdersServiceI;
- import cn.com.lzt.purchasedetails.entity.OrderDetailsEntity;
- import cn.com.lzt.relatedunits.entity.RelatedUnitsEntity;
- import cn.com.lzt.relatedunits.service.RelatedUnitsServiceI;
- import cn.com.lzt.tools.OrderNumTools;
- import cn.com.lzt.warehouse.entity.WarehouseEntity;
- /**
- * @Title: Controller
- * @Description: 订单表
- * @author onlineGenerator
- * @date 2017-06-07 17:15:24
- * @version V1.0
- *
- */
- @Controller
- @RequestMapping("/pOrdersController")
- public class POrdersController extends BaseController {
- /**
- * Logger for this class
- */
- private static final Logger logger = Logger.getLogger(POrdersController.class);
- @Autowired
- private POrdersServiceI ordersService;
- @Autowired
- private SystemService systemService;
- @Autowired
- private Validator validator;
- @Autowired
- public ICommonDao commonDao = null;
- // @Autowired
- // private PaymentMiddleServiceI paymentMiddleService;
- @Autowired
- private RelatedUnitsServiceI relatedUnitsService;
- @Autowired
- private POrdersServiceI pordersServiceI;
- @Autowired
- private POrderDao porderDao;
- @Autowired
- private JeecgDictDao jeecgDictDao;
-
-
- /**
- * 订单表列表 页面跳转
- *
- * @return
- */
- @RequestMapping(params = "list")
- public ModelAndView list(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/purchase/ordersList");
- }
- @RequestMapping(params = "selectQGD")
- public ModelAndView selectQGD(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectQGDInfo");
- 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("codefield", oConvertUtils.getString(request.getParameter("codefield")));
- mv.addObject("namefield", oConvertUtils.getString(request.getParameter("namefield")));
- return mv;
- }
- /**
- * easyui AJAX请求数据
- *
- * @param request
- * @param response
- * @param dataGrid
- * @param user
- */
- @RequestMapping(params = "datagrid")
- public void datagrid(POrdersEntity orders,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- CriteriaQuery cq = new CriteriaQuery(POrdersEntity.class, dataGrid);
- String orderDateBegin = request.getParameter("orderDate_begin");
- String orderDateEnd = request.getParameter("orderDate_end");
- String orderOnumber = orders.getOrderOnumber();
-
- if(StringUtils.isNotBlank(orderOnumber)){
- orders.setOrderOnumber("*" +orderOnumber +"*");
- }
- String warehouseName = orders.getWarehouseName();
- if(StringUtils.isNotBlank(warehouseName)){
- orders.setWarehouseName("*" +warehouseName +"*");
- }
- cq.addOrder("createDate", SortDirection.desc);
- //查询条件组装器
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, orders);
- try{
- //自定义追加查询条件
- if(StringUtils.isNotBlank(orderDateBegin) && StringUtils.isNotBlank(orderDateEnd)){
- cq.ge("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateBegin + " 00:00:00"));
- cq.le("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateEnd + " 23:59:59"));
- }
- }catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
-
- this.ordersService.getDataGridReturn(cq, true);
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 删除订单表
- *
- * @return
- */
- @RequestMapping(params = "doDel")
- @ResponseBody
- public AjaxJson doDel(POrdersEntity orders, HttpServletRequest request) {
- AjaxJson j = new AjaxJson();
- orders = systemService.getEntity(POrdersEntity.class, orders.getId());
- String message = "订单表删除成功";
- try{
- ordersService.delMain(orders);
- systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
- }catch(Exception e){
- e.printStackTrace();
- message = "订单表删除失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- /**
- * 批量删除订单表
- *
- * @return
- */
- @RequestMapping(params = "doBatchDel")
- @ResponseBody
- public AjaxJson doBatchDel(String ids,HttpServletRequest request){
- AjaxJson j = new AjaxJson();
- String message = "订单表删除成功";
- try{
- for(String id:ids.split(",")){
- POrdersEntity orders = systemService.getEntity(POrdersEntity.class,
- id
- );
- ordersService.delMain(orders);
- systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
- }
- }catch(Exception e){
- e.printStackTrace();
- message = "订单表删除失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- /**
- * 添加订单表
- *
- * @param ids
- * @return
- */
- @RequestMapping(params = "doAdd")
- @ResponseBody
- public AjaxJson doAdd(POrdersEntity orders,POrdersPage ordersPage, HttpServletRequest request) {
- List<OrderDetailsEntity> orderDetailsList = ordersPage.getOrderDetailsList();
- AjaxJson j = new AjaxJson();
- String message = "添加成功";
- try{
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
- orders.setHandlerPersonId(tuser.getId());
- orders.setHandlerPersonName(tuser.getRealName());
- orders.setOrderOnumber(OrderNumTools.generateNextBillCode(getMaxLocalCode(),"PU"));// 采购单号
- orders.setOrderStatus(StringUtils.isEmpty(orders.getSourceId() ) ? Globals.UNAPPROVED : "3");// 未审批状态,但有来源的,直接设置为已审批
- String sourceType=orders.getSourceType();
- if(StringUtils.equals(sourceType,"normal" )){//直接采购需要审批,其他不需要
- orders.setBpmStatus(Globals.BPM_STATUS_Normal.toString());
- }else {
- orders.setBpmStatus(Globals.BPM_STATUS_FINISHED.toString());
- }
- ordersService.addMain(orders, orderDetailsList);
- systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
- }catch(Exception e){
- e.printStackTrace();
- message = "订单表添加失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- @RequestMapping(params = "doAdd4FixAsset")
- @ResponseBody
- public AjaxJson doAdd4FixAsset(OrdersFixAssetEntity ordersFixAssetEntity, OrdersFixAssetPage ordersFixAssetPage, HttpServletRequest request) {
- POrdersEntity orders = new POrdersEntity();
- try {
- MyBeanUtils.copyBean2Bean(orders, ordersFixAssetEntity);
- orders.setId(null);
- orders.setSourceType("fixAsset");
- orders.setSourceId(ordersFixAssetEntity.getId());
- orders.setCreateBy(null);
- orders.setCreateDate(null);
- orders.setCreateName(null);
- orders.setUpdateBy(null);
- orders.setUpdateDate(null);
- orders.setUpdateName(null);
- orders.setAmountPayable(ordersFixAssetEntity.getTotalMoney());
- orders.setOrderAuditor("");
- orders.setBpmStatus("3");
- } catch (Exception e) {
- e.printStackTrace();
- }
- List<OrderFixAssetProductsEntity> orderDetailsList = ordersFixAssetPage.getOrderProductsList();
- POrdersPage ordersPage = new POrdersPage();
- List<OrderDetailsEntity> detailsEntities = new ArrayList<>(orderDetailsList.size());
- for(OrderFixAssetProductsEntity productsEntity :orderDetailsList ) {
- OrderDetailsEntity detailsEntity = new OrderDetailsEntity();
- try {
- MyBeanUtils.copyBean2Bean(detailsEntity, productsEntity);
- detailsEntity.setSourceBId(productsEntity.getId());
- detailsEntity.setSourceId(ordersFixAssetEntity.getId());
- detailsEntity.setId(null);
- detailsEntity.setCreateBy(null);
- detailsEntity.setCreateDate(null);
- detailsEntity.setCreateName(null);
- detailsEntity.setFkId(null);
- detailsEntity.setUpdateBy(null);
- detailsEntity.setUpdateDate(null);
- detailsEntity.setUpdateName(null);
- detailsEntity.setSourceCode(ordersFixAssetEntity.getOrderOnumber());
- } catch (Exception e) {
- e.printStackTrace();
- }
- detailsEntities.add(detailsEntity);
- }
- ordersPage.setOrderDetailsList(detailsEntities);
- return doAdd(orders, ordersPage, request);
- }
- private String getMaxLocalCode(){
- StringBuilder sb = new StringBuilder();
- sb.append("SELECT order_onumber FROM t_b_porders");
- sb.append(" ORDER BY order_onumber DESC");
- List<Map<String, Object>> objMapList = systemService.findForJdbc(sb.toString(), 1, 1);
- String returnCode = null;
- if(objMapList!=null && objMapList.size()>0){
- returnCode = (String)objMapList.get(0).get("order_onumber");
- }
- return returnCode;
- }
-
- /**
- * 订单表新增页面跳转,选择申购单后跳转此页面
- *
- * @return
- */
- @RequestMapping(params = "goAddByQGD")
- public ModelAndView goAdd(String qgdid,POrdersEntity orders, HttpServletRequest req) {
- if (StringUtil.isNotEmpty(orders.getId())) {
- orders = ordersService.getEntity(POrdersEntity.class, orders.getId());
- req.setAttribute("ordersPage", orders);
- }
- else{
- OrdersEntity qgd = systemService.get(OrdersEntity.class, qgdid);
- String orderType = qgd.getOrderType();
- if(StringUtils.isNotBlank(orderType)) {
- if (orderType.equals("1")) {//月度申购
- req.setAttribute("sourceType", "orders-monthly");
- } else if (orderType.equals("2")) {//临时申购
- req.setAttribute("sourceType", "orders-temp");
- } else if (orderType.equals("3")) {//代业主申购
- req.setAttribute("sourceType", "orders-representOwner");
- } else {//历史数据
- req.setAttribute("sourceType", "orders-monthly");
- }
- }else{
- req.setAttribute("sourceType", "orders-monthly");
- }
- orders = porderDao.getOrderByQGD(qgdid);
- List<OrderDetailsEntity> details = porderDao.getDetailsByQGD(qgdid);
- req.setAttribute("ordersPage", orders);
- req.setAttribute("orderDetailsList", details);
- }
- ModelAndView mw = new ModelAndView("cn/com/lzt/purchase/orders-addByQGD");
- mw.addObject("qgdid", qgdid);
- return mw;
- }
- /**
- * 更新订单表
- *
- * @param ids
- * @return
- */
- @RequestMapping(params = "doUpdate")
- @ResponseBody
- public AjaxJson doUpdate(POrdersEntity orders,POrdersPage ordersPage, HttpServletRequest request) {
- List<OrderDetailsEntity> orderDetailsList = ordersPage.getOrderDetailsList();
- AjaxJson j = new AjaxJson();
- String message = "更新成功";
- try{
- ordersService.updateMain(orders, orderDetailsList);
- systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- }catch(Exception e){
- e.printStackTrace();
- message = "更新订单表失败";
- throw new BusinessException(e.getMessage());
- }
- j.setMsg(message);
- return j;
- }
- /**
- * 订单表新增页面跳转
- *
- * @return
- */
- @RequestMapping(params = "goAdd")
- public ModelAndView goAdd(POrdersEntity orders, HttpServletRequest req) {
- if (StringUtil.isNotEmpty(orders.getId())) {
- orders = ordersService.getEntity(POrdersEntity.class, orders.getId());
- req.setAttribute("ordersPage", orders);
- }
- return new ModelAndView("cn/com/lzt/purchase/orders-add");
- }
-
- /**
- * 订单表编辑页面跳转
- *
- * @return
- */
- @RequestMapping(params = "goUpdate")
- public ModelAndView goUpdate(POrdersEntity orders, HttpServletRequest req) {
- String isView = req.getParameter("viewFlag");
- req.setAttribute("viewFlag", isView);
- if (StringUtil.isNotEmpty(orders.getId())) {
- orders = ordersService.getEntity(POrdersEntity.class, orders.getId());
- // idandname(req, orders);
- req.setAttribute("ordersPage", orders);
- }
- return new ModelAndView("cn/com/lzt/purchase/orders-update");
- }
-
- // public void idandname(HttpServletRequest req, OrdersEntity orders) {
- // WarehouseEntity warehouseEntity = systemService.findUniqueByProperty(WarehouseEntity.class, "id", orders.getWarehouseId());
- // RelatedUnitsEntity relatedUnitsEntity = systemService.findUniqueByProperty(RelatedUnitsEntity.class, "id", orders.getSupplierName());
- // TSBaseUser user = systemService.findUniqueByProperty(TSBaseUser.class, "id", orders.getHandlerPerson());
- // // 经手人
- // String handlerPersonName="";
- // // 仓库
- // String wareHouseName = "";
- // // 供应商名
- // String unitName = "";
- // if (warehouseEntity != null) {
- // wareHouseName= warehouseEntity.getWarehouseName();
- // req.setAttribute("wareHouseIdName", wareHouseName);
- // }
- // if (relatedUnitsEntity != null) {
- // unitName= relatedUnitsEntity.getUnitName();
- // req.setAttribute("textUnitName", unitName);
- // }
- //
- // if (user != null) {
- // handlerPersonName= user.getRealName();
- // req.setAttribute("realName", handlerPersonName);
- // }
- // }
-
-
- /**
- * 加载明细列表[采购商品]
- *
- * @return
- */
- @RequestMapping(params = "orderDetailsList")
- public ModelAndView orderDetailsList(POrdersEntity orders, HttpServletRequest req) {
-
- //===================================================================================
- //获取参数
- Object id0 = orders.getId();
- //===================================================================================
- //查询-采购商品
- String hql0 = "from OrderDetailsEntity where 1 = 1 AND fK_ID =? ";
- try{
- List<OrderDetailsEntity> orderDetailsEntityList = systemService.findHql(hql0,id0);
- String sql = "select detail.*, supplier.id as supplierId, supplier.unit_name as supplierName from t_b_porder_details detail "
- + "left join t_b_goods_info goods on goods.id=detail.goods_id "
- + "left join t_b_related_units supplier on supplier.id = goods.default_provider where fk_id =? ";
- List<Map<String,Object>> result = systemService.findForJdbc(sql, id0);
- HashMap<String, Map<String,Object>> hm_id2map = new HashMap<>();
- if(result != null && result.size()>0) {
- for(Map<String,Object> map : result) {
- hm_id2map.put((String)map.get("id"), map);
- }
- }
- if(orderDetailsEntityList != null) {
- for(OrderDetailsEntity entity : orderDetailsEntityList) {
- String entityid = entity.getId();
- if(hm_id2map.containsKey(entityid)) {
- Map<String,Object> map = hm_id2map.get(entityid);
- if(StringUtils.isBlank(entity.getSupplierId())) {
- entity.setSupplierId((String) map.get("supplierId"));
- entity.setSupplierName((String) map.get("supplierName"));
- }else{
- String supplierId = entity.getSupplierId();
- RelatedUnitsEntity relatedUnitsEntity = systemService.getEntity(RelatedUnitsEntity.class,supplierId);
- entity.setSupplierName(relatedUnitsEntity.getUnitName());
- }
- }
- }
- }
- req.setAttribute("orderDetailsList", orderDetailsEntityList);
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- return new ModelAndView("cn/com/lzt/purchasedetails/orderDetailsList");
- }
- /**
- * 加载明细列表[采购商品]
- * 参照申购单新增采购订单时使用
- * @return
- */
- @RequestMapping(params = "orderDetailsListNew")
- public ModelAndView orderDetailsListNew(String qgdid,POrdersEntity orders, HttpServletRequest req) {
- try{
- List<OrderDetailsEntity> orderDetailsEntityList = porderDao.getDetailsByQGD(qgdid);
- String sql = "select detail.*, supplier.id as supplierId, supplier.unit_name as supplierName from t_b_order_products detail "
- + "left join t_b_goods_info goods on goods.id=detail.goods_id "
- + "left join t_b_related_units supplier on supplier.id = goods.default_provider where fk_id = ?";
- List<Map<String,Object>> result = systemService.findForJdbc(sql, qgdid);
- HashMap<String, Map<String,Object>> hm_id2map = new HashMap<>();
- if(result != null && result.size()>0) {
- for(Map<String,Object> map : result) {
- hm_id2map.put((String)map.get("goods_id"), map);
- }
- }
- if(orderDetailsEntityList != null) {
- for(OrderDetailsEntity entity : orderDetailsEntityList) {
- String goodsid = entity.getGoodsId();
- if(hm_id2map.containsKey(goodsid)) {
- Map<String,Object> map = hm_id2map.get(goodsid);
- if(StringUtils.isBlank(entity.getSupplierId())) {
- entity.setSupplierId((String) map.get("supplierId"));
- entity.setSupplierName((String) map.get("supplierName"));
- }else{
- String supplierId = entity.getSupplierId();
- RelatedUnitsEntity relatedUnitsEntity = systemService.getEntity(RelatedUnitsEntity.class,supplierId);
- entity.setSupplierName(relatedUnitsEntity.getUnitName());
- }
- }
- }
- }
- req.setAttribute("orderDetailsList", orderDetailsEntityList);
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- return new ModelAndView("cn/com/lzt/purchasedetails/orderDetailsList");
- }
-
- @RequestMapping(params = "exportXlsOfSupplierAllGoods")
- public void exportXlsOfSupplierAllGoods(String orderid, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- List<Workbook> workbooklist = getSupplierAllWorkboodsBygoodsids(orderid, map);
- if(workbooklist == null || workbooklist.size() == 0 || workbooklist.get(0)==null) {
- return;
- }
- ServletOutputStream out = null;
- ZipOutputStream zipOutputStream = null;
- String timenow = "";
- SimpleDateFormat formater = new SimpleDateFormat("yyMMddHHmmss_sss");
- try {
- timenow = formater.format(new Date());
- } catch (Exception e) {
- }
- try {
- out=response.getOutputStream();
- String codedFileName = "供应商供货汇总_"+timenow+".zip";
- if (isIE(request)) {
- codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8");
- } else {
- codedFileName = new String(codedFileName.getBytes("UTF-8"), "ISO-8859-1");
- }
-
- zipOutputStream= new ZipOutputStream(out);
-
- response.setContentType("application/octet-stream ");
- response.setHeader("Connection", "close"); // 表示不能用浏览器直接打开
- response.setHeader("Accept-Ranges", "bytes");// 告诉客户端允许断点续传多线程连接下载
- response.setHeader("Content-Disposition",
- "attachment;filename=" + codedFileName);
- response.setCharacterEncoding("UTF-8");
-
- for(Workbook book : workbooklist) {
- ZipEntry entry = new ZipEntry(book.getSheetName(0) + ".xls");
- zipOutputStream.putNextEntry(entry);
- book.write(zipOutputStream);
- }
- zipOutputStream.flush();
-
- } catch (IOException e) {
- org.jeecgframework.core.util.LogUtil.error(e.getMessage());
- }finally {
- if(zipOutputStream != null) {
- try {
- zipOutputStream.close();
- } catch (IOException e) {
- org.jeecgframework.core.util.LogUtil.error(e.getMessage());
- }
- }
- }
- }
-
- private List<Workbook> getSupplierAllWorkboodsBygoodsids(String goodsids,ModelMap map){
- HashMap<String, HashMap<String, OrderToSupplierAllGoodsDto>> hm_supplier2Goods = getSupplierAllGoodsDto(goodsids);
- ArrayList<Workbook> workbooklist = new ArrayList<>();
- for(String suppiler : hm_supplier2Goods.keySet()) {
- RelatedUnitsEntity supplierEntity = systemService.get(RelatedUnitsEntity.class, suppiler);
- HashMap<String, OrderToSupplierAllGoodsDto> hm_dtos = hm_supplier2Goods.get(suppiler);
- if(hm_dtos != null && hm_dtos.size()>0) {
- ArrayList<OrderToSupplierAllGoodsDto> dtolist = new ArrayList<>(hm_dtos.values());
- for(int i=0 ; i<dtolist.size() ; i++) {
- dtolist.get(i).setIndex(i+1);
- }
-
- map.put(NormalExcelConstants.FILE_NAME,suppiler);
- map.put(NormalExcelConstants.CLASS,OrderToSupplierAllGoodsDto.class);
- ExportParams params = new ExportParams(supplierEntity.getUnitName()+"发货清单", "日期: ", supplierEntity.getUnitName());
- params.setAddIndex(true);
- map.put(NormalExcelConstants.PARAMS,params);
- map.put(NormalExcelConstants.DATA_LIST,dtolist);
-
- Workbook workbook = getSingleWorkbooksByModel(map);
- workbooklist.add(workbook);
- }
- }
- return workbooklist;
- }
-
-
- @RequestMapping(params = "exportXlsByTemplate")
- public void exportXlsByTemplate(String orderids, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- String[] ordersids = orderids.split(",");
-
- // HSSFWorkbook workbook = (HSSFWorkbook)ExcelExportUtil.exportExcel(params, POrdersEntity.class, dataSet, macro_map);
- ServletOutputStream out = null;
- ZipOutputStream zipOutputStream = null;
-
- String timenow = "";
- SimpleDateFormat formater = new SimpleDateFormat("yyMMddHHmmss_sss");
- try {
- timenow = formater.format(new Date());
- } catch (Exception e) {
- }
- try {
- out=response.getOutputStream();
-
- String codedFileName = "项目采购单_"+timenow+".zip";
- if (isIE(request)) {
- codedFileName = java.net.URLEncoder.encode(codedFileName, "UTF8");
- } else {
- codedFileName = new String(codedFileName.getBytes("UTF-8"), "ISO-8859-1");
- }
- response.setContentType("application/octet-stream ");
- response.setHeader("Connection", "close"); // 表示不能用浏览器直接打开
- response.setHeader("Accept-Ranges", "bytes");// 告诉客户端允许断点续传多线程连接下载
- response.setHeader("Content-Disposition",
- "attachment;filename=" + codedFileName);
- response.setCharacterEncoding("UTF-8");
- zipOutputStream= new ZipOutputStream(out);
- Map<String,Integer> fileNameMap = new HashMap<String, Integer>();
- for(int i=0 ; i<ordersids.length ; i++) {
- String orderid = ordersids[i];
- List<HSSFWorkbook> workbookList = getTemplateWorkbooksByorders(orderid);
- if(workbookList == null || workbookList.size() == 0 || workbookList.get(0)==null) {
- System.out.println("项目采购单导出出现严重错误");
- return;
- }
- POrdersEntity order = systemService.get(POrdersEntity.class, orderid);
- if(order == null) {
- return;
- }
- for(HSSFWorkbook book : workbookList) {
- String fileName = book.getSheetName(0) + "_" + order.getWarehouseName();
- if(fileNameMap.containsKey(fileName)) {
- fileNameMap.put(fileName,fileNameMap.get(fileName)+1);
- fileName = fileName+fileNameMap.get(fileName);
- }else {
- fileNameMap.put(fileName, 0);
- }
- ZipEntry entry = new ZipEntry(fileName + ".xls");
- zipOutputStream.putNextEntry(entry);
- book.write(zipOutputStream);
- }
-
- }
- zipOutputStream.flush();
-
- } catch (IOException e) {
- org.jeecgframework.core.util.LogUtil.error(e.getMessage());
- }finally {
- if(zipOutputStream != null) {
- try {
- zipOutputStream.close();
- } catch (IOException e) {
- org.jeecgframework.core.util.LogUtil.error(e.getMessage());
- }
- }
- }
-
-
-
-
- // TemplateExportParams params = new TemplateExportParams(getExcelTemplate());
- //
- // params.setDataSheetNum(0);
- // params.setTempParams("t");
- // //params.setScanAllsheet(false);
- // List<POrdersEntity> dataSet = new ArrayList<POrdersEntity>();
- // POrdersEntity entity = new POrdersEntity();
- // entity.setOrderOnumber("111");
- // entity.setSupplierName("京东商城");
- // POrdersEntity entity2 = new POrdersEntity();
- // entity2.setOrderOnumber("222");
- // entity2.setSupplierName("天猫商城");
- // POrdersEntity entity3= new POrdersEntity();
- // entity3.setOrderOnumber("333");
- // entity3.setSupplierName("天猫商城");
- // dataSet.add(entity);
- // dataSet.add(entity2);
- // dataSet.add(entity3);
- // Map<String, Object> macro_map = new HashMap<String, Object>();
- // macro_map.put("warehouseName", "嘉定图书馆");
- // macro_map.put("dataset", dataSet);
- // map.put(TemplateExcelConstants.FILE_NAME,"送货单");
- // map.put(TemplateExcelConstants.PARAMS,params);
- // map.put(TemplateExcelConstants.CLASS, POrdersEntity.class);
- // map.put(TemplateExcelConstants.LIST_DATA, dataSet);
- // map.put(TemplateExcelConstants.MAP_DATA, macro_map);
- //
- // return TemplateExcelConstants.JEECG_TEMPLATE_EXCEL_VIEW;
- }
-
-
- private List<HSSFWorkbook> getTemplateWorkbooksByorders(String orderid) {
-
- List<OrderToSupplierDto> allDtos = pordersServiceI.getOrderToSupplierDtoPage(orderid);
- Map<String, List<OrderToSupplierDto>> mp_supplier2Dtos = new HashMap<String, List<OrderToSupplierDto>>();
- //数量合计
- Double amountSum = 0.0;
- //金额合计
- Double moneySum = 0.0;
- for(OrderToSupplierDto dto : allDtos) {
- if(dto.getAmount()!= null) {
- amountSum += dto.getAmount();
- }
- if(dto.getMoney() != null) {
- moneySum += dto.getMoney();
- }
- // 备注,防止没有边框
- if(StringUtil.isEmpty(dto.getDescription())) {
- dto.setDescription(" ");
- }
-
- String supplierID = dto.getSupplierID();
- if(!mp_supplier2Dtos.containsKey(supplierID)) {
- mp_supplier2Dtos.put(supplierID, new ArrayList<OrderToSupplierDto>());
- }
- List<OrderToSupplierDto> listInMap = mp_supplier2Dtos.get(supplierID);
- listInMap.add(dto);
- }
- List<HSSFWorkbook> workbookList = new ArrayList<HSSFWorkbook>();
- for(String supplierid : mp_supplier2Dtos.keySet()) {
- List<OrderToSupplierDto> list = mp_supplier2Dtos.get(supplierid);
- for(int i=0 ; i<list.size() ; i++) {
- list.get(i).setIndex(i+1);
- }
- HSSFWorkbook workbook = getSingleTemplateWorkbookByDtos(list);
- workbookList.add(workbook);
- }
-
- return workbookList;
- }
-
- /**
- * 导出韵洁excel
- *
- * @param request
- * @param response
- */
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @RequestMapping(params = "exportYunjieXls")
- public String exportYunjieXls(String orderid,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- List<OrderToYunjieDto> list = getYunjieList(orderid);
- map.put(NormalExcelConstants.FILE_NAME,"美都环卫物业保洁用纸发货清单");
- map.put(NormalExcelConstants.CLASS,OrderToYunjieDto.class);
- ExportParams params = new ExportParams("美都环卫物业保洁用纸发货清单", "日期:", "韵洁发货清单");
- params.setAddIndex(true);
- map.put(NormalExcelConstants.PARAMS,params);
- map.put(NormalExcelConstants.DATA_LIST,list);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
-
- /**
- * 导出乐忆excel
- *
- * @param request
- * @param response
- */
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @RequestMapping(params = "exportLeyiXls")
- public String exportLeyiXls(String orderid,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- List<OrderToLeyiDto> list = getLeyiList(orderid);
- map.put(NormalExcelConstants.FILE_NAME,"美都环卫物业乐忆垃圾袋发货清单");
- map.put(NormalExcelConstants.CLASS,OrderToLeyiDto.class);
- ExportParams params = new ExportParams("美都环卫物业乐忆垃圾袋发货清单", "日期:", "乐忆垃圾袋发货清单");
- params.setAddIndex(true);
- map.put(NormalExcelConstants.PARAMS,params);
- map.put(NormalExcelConstants.DATA_LIST,list);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
- /**
- * @param orderid
- * @return
- */
- private List<OrderToLeyiDto> getLeyiList(String ids) {
- HashMap<String, OrderToLeyiDto> hm_warehouse2dto = new HashMap<>();
- if(ids != null) {
- String[] splits = ids.split(",");
- if(splits.length > 0) {
- for(String id:ids.split(",")){
- POrdersEntity orders = systemService.getEntity(POrdersEntity.class,id);
- if(orders != null) {
- String orderid = orders.getId();
- String hql0 = "from OrderDetailsEntity where 1 = 1 AND fK_ID =? ";
- try{
- List<OrderDetailsEntity> orderDetailsEntityList = systemService.findHql(hql0,orderid);
- for(OrderDetailsEntity entity : orderDetailsEntityList) {
- String supplier = orders.getWarehouseId();
- OrderToLeyiDto dto = getOrderToLeyiDto(supplier, hm_warehouse2dto);
- dealDeliverListData(orders, entity, dto);
- }
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- }
- }
- }
- }
- return new ArrayList<OrderToLeyiDto>(hm_warehouse2dto.values());
- }
- /**
- * @param orders
- * @param entity
- * @param dto
- */
- // private void dealLeyiData(POrdersEntity orders, OrderDetailsEntity entity, OrderToLeyiDto dto) {
- // if(StringUtil.isEmpty(dto.getWarehouseId())) {
- // dto.setWarehouseId(orders.getWarehouseId());
- // }
- //
- // if(StringUtil.isEmpty(dto.getWarehouseName())) {
- // dto.setWarehouseName(orders.getWarehouseName());
- // }
- //
- // if(StringUtil.isEmpty(dto.getWarehouseAddr())){
- // String warehouseid = orders.getWarehouseId();
- // WarehouseEntity warehouse = systemService.get(WarehouseEntity.class, warehouseid);
- // dto.setWarehouseAddr(warehouse.getWarehouseAddress());
- //// String responsiblePerson = warehouse.getResponsiblePerson();
- //// TSUser user = systemService.get(TSUser.class, responsiblePerson);
- // dto.setWarehouseContact(warehouse.getShoujianren());
- // dto.setWarehousePhone(warehouse.getShoujianrenPhone());
- // }
- //
- // String goodsid = entity.getGoodsId();
- // TBGoodsInfoEntity goodsEntity = systemService.get(TBGoodsInfoEntity.class, goodsid);
- //
- // setValueByAnnotation(dto,orders, entity, goodsEntity);
- // }
-
-
- // /**
- // * 通過反射和注解的方式獲取訂單貨品數量
- // * @param dtoclass
- // * @param orders
- // * @param entity
- // * @param goodsEntity
- // */
- // private void setValueByAnnotation(OrderToLeyiDto dto, POrdersEntity orders, OrderDetailsEntity entity, TBGoodsInfoEntity goodsEntity) {
- // Field[] fields = dto.getClass().getDeclaredFields();
- // for(int i=0 ; i<fields.length ; i++) {
- // Field f = fields[i];
- // if(f.isAnnotationPresent(GoodsCode.class )) {
- // try {
- // f.setAccessible(true);
- // GoodsCode goodscode = f.getAnnotation(GoodsCode.class);
- // PropertyDescriptor pd = new PropertyDescriptor(f.getName(), dto.getClass());
- // Method readMethod = pd.getReadMethod();//获得读方法
- // Method writeMethod = pd.getWriteMethod();//获得写方法
- // Object result = readMethod.invoke(dto);
- // Double resDouble = result == null ? 0.0 : (Double)result;
- // resDouble += getOrderDetailQuantity(orders, entity, goodsEntity, goodscode.value());
- // writeMethod.invoke(dto, resDouble);
- // } catch (Exception e) {
- // System.out.println("导出乐忆送货单时出现反射错误:" + dto.getId());
- // }
- // }
- // }
- //
- // }
- /**
- * @param supplier
- * @param hm_warehouse2dto
- * @return
- */
- private OrderToLeyiDto getOrderToLeyiDto(String supplier, HashMap<String, OrderToLeyiDto> hm_supplier2Dto) {
- OrderToLeyiDto dto = hm_supplier2Dto.get(supplier);
- if(dto == null) {
- dto = new OrderToLeyiDto();
- hm_supplier2Dto.put(supplier, dto);
- }
- return dto;
- }
- /**
- * @param ids
- * @return
- */
- private List<OrderToYunjieDto> getYunjieList(String ids) {
- HashMap<String, OrderToYunjieDto> hm_warehouse2dto = new HashMap<>();
- if(ids != null) {
- String[] splits = ids.split(",");
- if(splits.length > 0) {
- for(String id:ids.split(",")){
- POrdersEntity orders = systemService.getEntity(POrdersEntity.class,id);
- if(orders != null) {
- String orderid = orders.getId();
- String hql0 = "from OrderDetailsEntity where 1 = 1 AND fK_ID =? ";
- try{
- List<OrderDetailsEntity> orderDetailsEntityList = systemService.findHql(hql0,orderid);
- for(OrderDetailsEntity entity : orderDetailsEntityList) {
- String supplier = orders.getWarehouseId();
- OrderToYunjieDto dto = getOrderToYunjieDto(supplier, hm_warehouse2dto);
- dealYunjieData(orders, entity, dto);
- }
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- }
- }
- }
- }
- return new ArrayList<OrderToYunjieDto>(hm_warehouse2dto.values());
- }
- /**
- * @param orders
- * @param entity
- * @param dto
- */
- private void dealYunjieData(POrdersEntity orders, OrderDetailsEntity entity, OrderToYunjieDto dto) {
- if(StringUtil.isEmpty(dto.getWarehouseId())) {
- dto.setWarehouseId(orders.getWarehouseId());
- }
-
- if(StringUtil.isEmpty(dto.getWarehouseName())) {
- dto.setWarehouseName(orders.getWarehouseName());
- }
-
- if(StringUtil.isEmpty(dto.getWarehouseAddr())){
- String warehouseid = orders.getWarehouseId();
- WarehouseEntity warehouse = systemService.get(WarehouseEntity.class, warehouseid);
- dto.setWarehouseAddr(warehouse.getWarehouseAddress());
- // String responsiblePerson = warehouse.getResponsiblePerson();
- // TSUser user = systemService.get(TSUser.class, responsiblePerson);
- dto.setWarehouseContact(warehouse.getShoujianren());
- dto.setWarehousePhone(warehouse.getShoujianrenPhone());
- }
-
- String goodsid = entity.getGoodsId();
- TBGoodsInfoEntity goodsEntity = systemService.get(TBGoodsInfoEntity.class, goodsid);
-
- Double yunjiecashouzhi = dto.getYunjiecashouzhi() == null ? 0.0 : dto.getYunjiecashouzhi();
- yunjiecashouzhi += getOrderDetailQuantity(orders, entity, goodsEntity, "yjcsz");
- dto.setYunjiecashouzhi(yunjiecashouzhi);
-
- Double yunjiexiaojuanzhi = dto.getYunjiexiaojuanzhi() == null ? 0.0 : dto.getYunjiexiaojuanzhi();
- yunjiexiaojuanzhi += getOrderDetailQuantity(orders, entity, goodsEntity, "yjxjz");
- dto.setYunjiexiaojuanzhi(yunjiexiaojuanzhi);
-
- Double yunjieweishengzhi = dto.getYunjieweishengzhi() == null ? 0.0 : dto.getYunjieweishengzhi();
- yunjieweishengzhi += getOrderDetailQuantity(orders, entity, goodsEntity, "yjwsz");
- dto.setYunjieweishengzhi(yunjieweishengzhi);
-
- Double yunjiedajuanzhi = dto.getYunjiedajuanzhi() == null ? 0.0 : dto.getYunjiedajuanzhi();
- yunjiedajuanzhi += getOrderDetailQuantity(orders, entity, goodsEntity, "yjdjz");
- dto.setYunjiedajuanzhi(yunjiedajuanzhi);
-
- Double yunjiejieyunyahuaweishengzhi400 = dto.getYunjiejieyunyahuaweishengzhi400() == null ? 0.0 : dto.getYunjiejieyunyahuaweishengzhi400();
- yunjiejieyunyahuaweishengzhi400 += getOrderDetailQuantity(orders, entity, goodsEntity, "yjjyyhwsz");
- dto.setYunjiejieyunyahuaweishengzhi400(yunjiejieyunyahuaweishengzhi400);
-
- Double yunjiejieyunxiaojuanzhi160 = dto.getYunjiejieyunxiaojuanzhi160() == null ? 0.0 : dto.getYunjiejieyunxiaojuanzhi160();
- yunjiejieyunxiaojuanzhi160 += getOrderDetailQuantity(orders, entity, goodsEntity, "yjjyxjz160");
- dto.setYunjiejieyunxiaojuanzhi160(yunjiejieyunxiaojuanzhi160);
-
- Double yunjiejieyunmianjinzhi200 = dto.getYunjiejieyunmianjinzhi200() == null ? 0.0 : dto.getYunjiejieyunmianjinzhi200();
- yunjiejieyunmianjinzhi200 += getOrderDetailQuantity(orders, entity, goodsEntity, "jBgg");
- dto.setYunjiejieyunmianjinzhi200(yunjiejieyunmianjinzhi200);
-
- Double yunjiejieyunjiarenyahuaweishengzhi200 = dto.getYunjiejieyunjiarenyahuaweishengzhi200() == null ? 0.0 : dto.getYunjiejieyunjiarenyahuaweishengzhi200();
- yunjiejieyunjiarenyahuaweishengzhi200 += getOrderDetailQuantity(orders, entity, goodsEntity, "qMgk");
- dto.setYunjiejieyunjiarenyahuaweishengzhi200(yunjiejieyunjiarenyahuaweishengzhi200);
-
- }
- /**
- * @param orders
- * @param ordersDetail
- * @param dto
- * @param filterGoodsCode
- * @return
- */
- private Double getOrderDetailQuantity(POrdersEntity orders, OrderDetailsEntity ordersDetail, TBGoodsInfoEntity goodsEntity,
- String filterGoodsCode) {
-
- if(filterGoodsCode.equals(goodsEntity.getGoodsCode())) {
- String detailUnit = ordersDetail.getMeasureUnit();
- String purchaseUnit = goodsEntity.getPurchaseUnit();
- Double conversionWithPurchaseUnit=null;
- Double conversionWithDetailUnit=null;
- String hql0 = "from TBPriceInfoEntity where 1 = 1 AND GOODS_ID = ?";
- List<TBPriceInfoEntity> tBPriceInfoEntityList = systemService.findHql(hql0,goodsEntity.getId());
- if(tBPriceInfoEntityList != null && tBPriceInfoEntityList.size() > 0){
- for(TBPriceInfoEntity priceEntity : tBPriceInfoEntityList) {
- if(priceEntity.getMeteringUnit().equals(purchaseUnit)) {
- conversionWithPurchaseUnit = priceEntity.getConversion();
- }
- if(priceEntity.getMeteringUnit().equals(detailUnit)){
- conversionWithDetailUnit = priceEntity.getConversion();
- }
- }
- }
- if(conversionWithDetailUnit != null) {
- Double conversion = getConversion(conversionWithPurchaseUnit, conversionWithDetailUnit);
- Double detailQantity = ordersDetail.getQuantity();
- Double purchaseQantity = conversion * detailQantity;
- NumberFormat nf = NumberFormat.getNumberInstance();
- // 保留3位小数
- nf.setMaximumFractionDigits(1);
- nf.setGroupingUsed(false);
- // 如果不需要四舍五入,可以使用RoundingMode.DOWN
- nf.setRoundingMode(RoundingMode.UP);
- return Double.valueOf(nf.format(purchaseQantity));
- }
- }
- return 0.0;
- }
- /**
- * @param conversionWithPurchaseUnit
- * @param conversionWithDetailUnit
- * @return
- */
- private Double getConversion(Double conversionWithPurchaseUnit, Double conversionWithDetailUnit) {
- return conversionWithDetailUnit/conversionWithPurchaseUnit;
- }
-
- /**
- * @param supplier
- * @param hm_supplier2Dto
- * @return
- */
- private OrderToYunjieDto getOrderToYunjieDto(String supplier, HashMap<String, OrderToYunjieDto> hm_supplier2Dto) {
- OrderToYunjieDto dto = hm_supplier2Dto.get(supplier);
- if(dto == null) {
- dto = new OrderToYunjieDto();
- hm_supplier2Dto.put(supplier, dto);
- }
- return dto;
- }
-
- private Workbook getSingleWorkbooksByModel(Map<String, Object> model) {
- Workbook workbook = ExcelExportUtil.exportExcel((ExportParams) model.get(NormalExcelConstants.PARAMS)
- , (Class<?>) model.get(NormalExcelConstants.CLASS), (Collection<?>) model.get(NormalExcelConstants.DATA_LIST));
- return workbook;
- }
-
- /**
- * @param ids
- * @return
- */
- private HashMap<String, HashMap<String, OrderToSupplierAllGoodsDto>> getSupplierAllGoodsDto(String ids) {
- HashMap<String, HashMap<String, OrderToSupplierAllGoodsDto>> hm_supplier2Goods = new HashMap<>();
- if(ids != null) {
- String[] splits = ids.split(",");
- if(splits.length > 0) {
- for(String id:ids.split(",")){
- POrdersEntity orders = systemService.getEntity(POrdersEntity.class,id);
- if(orders != null) {
- String orderid = orders.getId();
- String hql0 = "from OrderDetailsEntity where 1 = 1 AND fK_ID =? ";
- try{
- List<OrderDetailsEntity> orderDetailsEntityList = systemService.findHql(hql0,orderid);
- for(OrderDetailsEntity entity : orderDetailsEntityList) {
- String supplier = entity.getSupplierId();
- OrderToSupplierAllGoodsDto dto = getOrderToSupplierAllDto(supplier, entity, hm_supplier2Goods);
- dealOrderToSupplierAllData(orders,entity,dto);
- }
- }catch(Exception e){
- e.printStackTrace();
- logger.error(e.getMessage());
- }
- }
- }
- }
- }
- return hm_supplier2Goods;
- }
-
- /**
- * @param entity
- * @param orders
- * @param dto
- */
- private void dealOrderToSupplierAllData(POrdersEntity orders, OrderDetailsEntity entity, OrderToSupplierAllGoodsDto dto) {
-
- if(StringUtil.isEmpty(dto.getGoodsID())) {
- dto.setGoodsID(entity.getGoodsId());
- }
- if(StringUtil.isEmpty(dto.getGoodsName())) {
- dto.setGoodsName(entity.getPname());
- }
-
- if(StringUtil.isEmpty(dto.getSpecification())) {
- dto.setSpecification(entity.getSpecType());
- }
-
- TBGoodsInfoEntity goodsEntity = systemService.get(TBGoodsInfoEntity.class, entity.getGoodsId());
- if(StringUtil.isEmpty(dto.getUnit())) {
- List<DictEntity> dictList = jeecgDictDao.querySystemDict("metering_calcu_unit");
- HashMap<String, String> map = new HashMap<>();
- for(DictEntity dic : dictList) {
- map.put(dic.getTypecode(), dic.getTypename());
- if(goodsEntity.getPurchaseUnit().equals(dic.getTypecode())) {
- dto.setUnit(dic.getTypename());
- break;
- }
- }
- }
-
- Double amount = dto.getAmount() == null ? 0.0 : dto.getAmount();
- amount += getOrderDetailQuantity(orders, entity, goodsEntity, goodsEntity.getGoodsCode());
- dto.setAmount(amount);
- }
- /**
- * @param supplier
- * @param entity
- * @param hm_supplier2Goods
- * @return
- */
- private OrderToSupplierAllGoodsDto getOrderToSupplierAllDto(String supplier,
- OrderDetailsEntity entity, HashMap<String, HashMap<String, OrderToSupplierAllGoodsDto>> hm_supplier2Goods) {
- HashMap<String, OrderToSupplierAllGoodsDto> hm_goods2Dto = hm_supplier2Goods.get(supplier);
- if(hm_goods2Dto == null) {
- hm_goods2Dto = new HashMap<>();
- hm_supplier2Goods.put(supplier, hm_goods2Dto);
- }
-
- String goodsid = entity.getGoodsId();
- OrderToSupplierAllGoodsDto dto = hm_goods2Dto.get(goodsid);
- if(dto == null) {
- dto = new OrderToSupplierAllGoodsDto();
- hm_goods2Dto.put(goodsid, dto);
- }
- return dto;
- }
- /**
- * @param list
- * @param moneySum 金额合计
- * @param amountSum 数量合计
- * @return
- */
- private HSSFWorkbook getSingleTemplateWorkbookByDtos(List<OrderToSupplierDto> list) {
- TemplateExportParams params = new TemplateExportParams(getExcelTemplate(),0);
- params.setSheetName(list.get(0).getSupplierName());
- params.setStyle(ExcelExportStylerBorderImpl.class);
- //params.setHeadingRows(8);
- NumberFormat nf = NumberFormat.getNumberInstance();
- nf.setMaximumFractionDigits(2);
- Double amountSum = 0.0;
- Double moneySum = 0.0;
- if(list != null) {
- for(OrderToSupplierDto dto : list) {
- amountSum += dto.getAmount();
- moneySum += dto.getMoney();
- }
- }
- Map<String, Object> macro_map = new HashMap<String, Object>();
- macro_map.put("supplierName", list.get(0).getSupplierName());
- macro_map.put("warehouseName", list.get(0).getWarehouseName());
- macro_map.put("warehouseAddress", list.get(0).getWarehouseAddress());
- macro_map.put("handlePerson", list.get(0).getHandlePerson());
- macro_map.put("orderMonths", getOrderMonth(list.get(0).getOrderDate()));
- String contacts = list.get(0).getShoujianren();
- if(StringUtil.isEmpty(contacts)) {
- contacts = list.get(0).getContacts();
- }
- macro_map.put("contacts", contacts);
- macro_map.put("moneySum", nf.format(moneySum));
- macro_map.put("amountSum", nf.format(amountSum));
- String mobilePhone = list.get(0).getShoujianrenPhone();
- if(StringUtil.isEmpty(mobilePhone)) {
- mobilePhone = list.get(0).getMobilePhone();
- }
- macro_map.put("mobilePhone", mobilePhone);
- macro_map.put("dataset", list);
- HSSFWorkbook workbook = (HSSFWorkbook)new OrdersExcelExportOfTemplateUtil().createExcleByTemplate(params, OrderToSupplierDto.class, list, macro_map);
- return workbook;
- }
- /**
- * @param orderDate
- * @return
- */
- private String getOrderMonth(Date orderDate) {
- if(orderDate == null) {
- return "";
- }
-
- Calendar calend = Calendar.getInstance();
- calend.setTime(orderDate);
- int month = calend.get(Calendar.MONTH)+1;
- if(month%2 > 0) {
- calend.add(Calendar.MONTH, -1);
- }
- calend.set(Calendar.DATE, 1);
-
- SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
-
- String order_ref = sim.format(calend.getTime());
-
- String hql0 = "from OrderMonthsEntity where 1 = 1 AND refDate = '" + order_ref +"'" ;
- try{
- List<OrderMonthsEntity> orderMonthsEntityList = systemService.findByQueryString(hql0);
- if(orderMonthsEntityList != null && orderMonthsEntityList.size()>0) {
- return orderMonthsEntityList.get(0).getOrdermonthsName();
- }
- }catch(Exception e){
- e.printStackTrace();
- logger.error(e.getMessage());
- }
- return "";
- }
- boolean isIE(HttpServletRequest request) {
- return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request.getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true : false;
- }
-
- private String getExcelTemplate() {
- String osNameString = System.getProperties().getProperty("os.name");
- String nodepath = this.getClass().getClassLoader().getResource("/").getPath();
-
- String filePath = "";
- if(osNameString.contains("Windows") || osNameString.contains("windows")) {
- filePath = nodepath.substring(1, nodepath.length() - 16);
- } else {
- filePath = nodepath.substring(0, nodepath.length() - 16);
- }
- String path = filePath+"temp/porderTemplate/orderTemplate.xls";// 保存新EXCEL路径
- return path;
- }
- /**
- * 导出excel
- *
- * @param request
- * @param response
- */
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @RequestMapping(params = "exportXls")
- public String exportXls(POrdersEntity orders,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- CriteriaQuery cq = new CriteriaQuery(POrdersEntity.class, dataGrid);
- String orderDateBegin = request.getParameter("orderDate_begin");
- String orderDateEnd = request.getParameter("orderDate_end");
- // 模糊查询
- String orderOnumber = orders.getOrderOnumber();
- if(StringUtils.isNotBlank(orderOnumber)){
- orders.setOrderOnumber("*" +orderOnumber +"*");
- }
- //查询条件组装器
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, orders);
- try{
- //自定义追加查询条件
- if(StringUtils.isNotBlank(orderDateBegin) && StringUtils.isNotBlank(orderDateEnd)){
- cq.ge("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateBegin + " 00:00:00"));
- cq.le("orderDate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(orderDateEnd + " 23:59:59"));
- }
- }catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
- List<POrdersEntity> list=this.ordersService.getListByCriteriaQuery(cq, false);
- List<POrdersEntity> listResult = null;
- List<POrdersPage> pageList=new ArrayList<POrdersPage>();
- List<OrderDetailsEntity> orderDetailsEntityListResult = null;
- if(list!=null&&list.size()>0){
- Class clsOrder = MyClassLoader.getClassByScn("cn.com.lzt.purchase.entity.POrdersEntity");
- try {
- listResult =systemService.dealResultShowText4Entities(list, clsOrder);
- } catch (Exception e1) {
- logger.info(e1.getMessage());
- }
- for(POrdersEntity entity:listResult){
- try{
- POrdersPage page=new POrdersPage();
- MyBeanUtils.copyBeanNotNull2Bean(entity,page);
- Object id0 = entity.getId();
- String hql0 = "from OrderDetailsEntity where 1 = 1 AND fK_ID =? ";
- List<OrderDetailsEntity> orderDetailsEntityList = systemService.findHql(hql0,id0);
- Class cls = MyClassLoader.getClassByScn("cn.com.lzt.purchasedetails.entity.OrderDetailsEntity");
- orderDetailsEntityListResult =systemService.dealResultShowText4Entities(orderDetailsEntityList, cls);
- page.setOrderDetailsList(orderDetailsEntityListResult);
- pageList.add(page);
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- }
- }
- map.put(NormalExcelConstants.FILE_NAME,"订单表");
- map.put(NormalExcelConstants.CLASS,POrdersPage.class);
- map.put(NormalExcelConstants.PARAMS,new ExportParams("订单表列表", "导出人:Jeecg",
- "导出信息"));
- map.put(NormalExcelConstants.DATA_LIST,pageList);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
-
- /**
- * 为“代业主采购” 导出excel,主要针对对账使用
- *
- * @param request
- * @param response
- */
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @RequestMapping(params = "exportXls4representOwner")
- public String exportXls4representOwner(POrdersEntity orders,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- String orderId = request.getParameter("orderid");
- orders = systemService.get(POrdersEntity.class,orderId);
- List<OrderDetailsEntity> orderDetailsEntityList = systemService.findByProperty(OrderDetailsEntity.class, "fkId", orders.getId());
- WarehouseEntity warehouse = systemService.get(WarehouseEntity.class, orders.getWarehouseId());
- TSDepart depart = systemService.get(TSDepart.class, warehouse.getProjectId());
- String sourceId =orders.getSourceId();
- OrdersEntity sourceOrder =systemService.get(OrdersEntity.class,sourceId);
- map.put(NormalExcelConstants.FILE_NAME,"代业主申购明细表-"+orders.getWarehouseName()+"-"+DateUtils.formatDate(sourceOrder.getOrderDate(),"yyyy-MM-dd" ));
- map.put(NormalExcelConstants.CLASS,OrderDetailsEntity.class);
- map.put(NormalExcelConstants.PARAMS,new ExportParams("代业主申购明细表", "项目:"+depart.getDepartname()
- +" 领料点:"+warehouse.getWarehouseName()
- +" 申请时间:"+ DateUtils.formatDate(orders.getCreateDate())
- +" 导出人:"+ ResourceUtil.getSessionUserName().getRealName(),
- "物料信息"));
- map.put(NormalExcelConstants.DATA_LIST,orderDetailsEntityList);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
- /**
- * 通过excel导入数据
- * @param request
- * @param
- * @return
- */
- @RequestMapping(params = "importExcel", method = RequestMethod.POST)
- @ResponseBody
- public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
- AjaxJson j = new AjaxJson();
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
- for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
- MultipartFile file = entity.getValue();// 获取上传文件对象
- ImportParams params = new ImportParams();
- params.setTitleRows(2);
- params.setHeadRows(2);
- params.setNeedSave(true);
- try {
- List<POrdersPage> list = ExcelImportUtil.importExcel(file.getInputStream(), POrdersPage.class, params);
- POrdersEntity entity1=null;
- for (POrdersPage page : list) {
- entity1=new POrdersEntity();
- MyBeanUtils.copyBeanNotNull2Bean(page,entity1);
- ordersService.addMain(entity1, page.getOrderDetailsList());
- }
- j.setMsg("文件导入成功!");
- } catch (Exception e) {
- j.setMsg("文件导入失败!");
- logger.error(ExceptionUtil.getExceptionMessage(e));
- }finally{
- try {
- file.getInputStream().close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return j;
- }
- /**
- * 导出excel 使模板
- */
- @RequestMapping(params = "exportXlsByT")
- public String exportXlsByT(ModelMap map) {
- map.put(NormalExcelConstants.FILE_NAME,"订单表");
- map.put(NormalExcelConstants.CLASS,POrdersPage.class);
- map.put(NormalExcelConstants.PARAMS,new ExportParams("订单表列表", "导出人:"+ ResourceUtil.getSessionUserName().getRealName(),
- "导出信息"));
- map.put(NormalExcelConstants.DATA_LIST,new ArrayList());
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
- /**
- * 导入功能跳转
- *
- * @return
- */
- @RequestMapping(params = "upload")
- public ModelAndView upload(HttpServletRequest req) {
- req.setAttribute("controller_name", "pOrdersController");
- return new ModelAndView("common/upload/pub_excel_upload");
- }
-
- @RequestMapping(method = RequestMethod.GET)
- @ResponseBody
- public List<POrdersEntity> list() {
- List<POrdersEntity> listOrderss=ordersService.getList(POrdersEntity.class);
- return listOrderss;
- }
-
- @RequestMapping(value = "/{id}", method = RequestMethod.GET)
- @ResponseBody
- public ResponseEntity<?> get(@PathVariable("id") String id) {
- POrdersEntity task = ordersService.get(POrdersEntity.class, id);
- if (task == null) {
- return new ResponseEntity(HttpStatus.NOT_FOUND);
- }
- return new ResponseEntity(task, HttpStatus.OK);
- }
-
- @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
- @ResponseBody
- public ResponseEntity<?> create(@RequestBody POrdersPage ordersPage, UriComponentsBuilder uriBuilder) {
- //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
- Set<ConstraintViolation<POrdersPage>> failures = validator.validate(ordersPage);
- if (!failures.isEmpty()) {
- return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
- }
- //保存
- List<OrderDetailsEntity> orderDetailsList = ordersPage.getOrderDetailsList();
-
- POrdersEntity orders = new POrdersEntity();
- try{
- MyBeanUtils.copyBeanNotNull2Bean(orders,ordersPage);
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- ordersService.addMain(orders, orderDetailsList);
- //按照Restful风格约定,创建指向新任务的url, 也可以直接返回id或对象.
- String id = ordersPage.getId();
- URI uri = uriBuilder.path("/api/pOrdersController/" + id).build().toUri();
- HttpHeaders headers = new HttpHeaders();
- headers.setLocation(uri);
- return new ResponseEntity(headers, HttpStatus.CREATED);
- }
-
- @RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity<?> update(@RequestBody POrdersPage ordersPage) {
- //调用JSR303 Bean Validator进行校验,如果出错返回含400错误码及json格式的错误信息.
- Set<ConstraintViolation<POrdersPage>> failures = validator.validate(ordersPage);
- if (!failures.isEmpty()) {
- return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
- }
- //保存
- List<OrderDetailsEntity> orderDetailsList = ordersPage.getOrderDetailsList();
-
- POrdersEntity orders = new POrdersEntity();
- try{
- MyBeanUtils.copyBeanNotNull2Bean(orders,ordersPage);
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- ordersService.updateMain(orders, orderDetailsList);
- //按Restful约定,返回204状态码, 无内容. 也可以返回200状态码.
- return new ResponseEntity(HttpStatus.NO_CONTENT);
- }
- @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
- @ResponseStatus(HttpStatus.NO_CONTENT)
- public void delete(@PathVariable("id") String id) {
- POrdersEntity orders = ordersService.get(POrdersEntity.class, id);
- ordersService.delMain(orders);
- }
-
- /**
- * 解析SQL,返回字段集 支持多数据源
- * @param sql
- * @return
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @RequestMapping(params = "getProductInfo", method = RequestMethod.POST)
- @ResponseBody
- public Object getSqlFields(String goodsCode){
- TBGoodsInfoEntity goodInfo = null;
- TBPriceInfoEntity tBPriceInfoEntity = null;
- TBPriceInfoEntity tBPriceInfoEntityResult = null;
- Map reJson = new HashMap<String, Object>();
- try{
- //goodInfo = systemService.findUniqueByProperty(TBGoodsInfoEntity.class, "goodsCode",goodsCode);
- String hql_Goods = "from TBGoodsInfoEntity where 1 = 1 AND GOODS_CODE =? AND STATUS = 0 AND DELETE_FLAG = 0";
- List<TBGoodsInfoEntity> tBGoodsInfoEntityList = systemService.findHql(hql_Goods,goodsCode);
- if(tBGoodsInfoEntityList != null && tBGoodsInfoEntityList.size() > 0){
- goodInfo = tBGoodsInfoEntityList.get(0);
- if(goodInfo != null) {
- RelatedUnitsEntity entity = systemService.get(RelatedUnitsEntity.class, goodInfo.getDefaultProvider());
- if(entity != null) {
- goodInfo.setSupplierName(entity.getUnitName());
- }
- }
-
- }else{
- reJson.put("status", "false");
- return reJson;
- }
- //获取参数
- Object id0 = goodInfo.getId();
- 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 i = 0 ;i < tBPriceInfoEntityList.size();i++){
- tBPriceInfoEntity = new TBPriceInfoEntity();
- tBPriceInfoEntity = tBPriceInfoEntityList.get(i);
- if(goodInfo.getPurchaseUnit() != null && tBPriceInfoEntity.getMeteringUnit() != null && goodInfo.getPurchaseUnit().equals(tBPriceInfoEntity.getMeteringUnit())){
- tBPriceInfoEntityResult = tBPriceInfoEntity;
- break;
- }
- }
- }
- }catch (Exception e) {
- logger.info(e.getMessage());
- }
- reJson.put("status", "success");
- reJson.put("datainfo", goodInfo);
- reJson.put("pricinfo", tBPriceInfoEntityResult);
- return reJson;
- }
-
- /**
- * 解析SQL,返回字段集 支持多数据源
- * @param sql
- * @return
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @RequestMapping(params = "getPurchasePriceInfo", method = RequestMethod.POST)
- @ResponseBody
- public Object getPurchasePriceInfo(String goodsCode,String purchaseUnit){
- Map reJson = new HashMap<String, Object>();
- TBGoodsInfoEntity goodInfo = null;
- if(StringUtils.isNotBlank(goodsCode) && StringUtils.isNotBlank(purchaseUnit)){
- TBPriceInfoEntity tBPriceInfoEntityResult = null;
- List<String> unitlist = new ArrayList<String>();
- try{
- goodInfo = systemService.findUniqueByProperty(TBGoodsInfoEntity.class, "goodsCode",goodsCode);
- String hql0 = "from TBPriceInfoEntity where 1 = 1 AND GOODS_ID = ?";
- List<TBPriceInfoEntity> tBPriceInfoEntityList = systemService.findHql(hql0,goodInfo.getId());
- if(tBPriceInfoEntityList != null && tBPriceInfoEntityList.size() > 0){
- for(TBPriceInfoEntity price : tBPriceInfoEntityList) {
- unitlist.add(price.getMeteringUnit());
- if(purchaseUnit.equals(price.getMeteringUnit())) {
- tBPriceInfoEntityResult = price;
- }
- }
- }
- if(tBPriceInfoEntityResult == null) {
- List<DictEntity> dictList = jeecgDictDao.querySystemDict("metering_calcu_unit");
- HashMap<String, String> map = new HashMap<>();
- for(DictEntity dic : dictList) {
- map.put(dic.getTypecode(), dic.getTypename());
- }
- StringBuffer sb = new StringBuffer();
- sb.append("可选择的计量单位:【");
- for(int i=0 ; i<unitlist.size() ; i++) {
- if(i>0) {
- sb.append("/");
- }
- sb.append(map.get(unitlist.get(i)));
- }
- sb.append("】");
- reJson.put("msg", sb.toString());
- }
- }catch (Exception e) {
- reJson.put("status", "fail");
- logger.info(e.getMessage());
- return reJson;
- }
- reJson.put("status", "success");
- reJson.put("pricinfo", tBPriceInfoEntityResult);
- }else{
- reJson.put("status", "success");
- reJson.put("pricinfo", null);
-
- }
- return reJson;
- }
-
- /**
- * 供应商弹出框
- *
- * @param request
- * @param response
- * @param dataGrid
- * @throws ClassNotFoundException
- */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridUnits")
- public void selRefDatagridUnits(String classname, RelatedUnitsEntity relatedUnitsEntity,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- Class cls = MyClassLoader.getClassByScn(classname);
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- //自定义追加查询条件
- String[] unitstate = new String[]{Globals.Enable_Normal};
- cq.in("status", unitstate);
- cq.eq("deleteFlag", Globals.Delete_Normal.toString());
- //cq.eq("unitType", Globals.AGRICULTURAL_SUPPLIERS);// 供应商
- // 检索用 供应商编码
- if(StringUtils.isNotBlank(relatedUnitsEntity.getUnitCode())){
- cq.eq("unitCode", relatedUnitsEntity.getUnitCode());
- }
- // 检索用 供应商名称
- if(StringUtils.isNotBlank(relatedUnitsEntity.getUnitName())){
- cq.eq("unitName", relatedUnitsEntity.getUnitName());
- }
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cls.newInstance());
- commonDao.getDataGridReturn(cq, true);
- List result = dataGrid.getResults();
- try {
- //result =systemService.dealResultShowText4Entities(dataGrid.getResults(), cls);
- } catch (Exception e) {
- throw new BusinessException(e);
- }
- dataGrid.setResults(result);
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 供应商弹出框
- *
- * @return
- */
- @RequestMapping(params = "selectReferUnits")
- public ModelAndView selectReferUnits(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectUnitsInfo");
- 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("codefield", oConvertUtils.getString(request.getParameter("codefield")));
- mv.addObject("namefield", oConvertUtils.getString(request.getParameter("namefield")));
- return mv;
- }
- /**
- * 供应商价格
- * */
- @RequestMapping(params = "selectRelatedUnitPrice")
- public ModelAndView selectRelatedUnitPrice(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectRelatedUnitPrice");
- String ids = oConvertUtils.getString(request.getParameter("ids"));
- mv.addObject("ids", ids);
- // 需要将前端的参数传递到refer页面
- mv.addObject("refid", oConvertUtils.getString(request.getParameter("refid")));
- mv.addObject("reftype", oConvertUtils.getString(request.getParameter("reftype")));
- return mv;
- }
-
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridRelatedUnit")
- public void selRefDatagridRelatedUnit(String refid, String reftype,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- TBGoodsRelatedUnitPriceEntity ruprice = new TBGoodsRelatedUnitPriceEntity();
- String classname = "";
- String refidFiled = "";
- if(reftype.equals("goods")) {
- classname = TBGoodsRelatedUnitPriceEntity.class.getName();
- refidFiled = "goodsId";
- }else if (reftype.equals("clothing")) {
- classname = TBClothingRelatedUnitPriceEntity.class.getName();
- refidFiled = "clothingId";
- }else {
- return;
- }
- Class cls = MyClassLoader.getClassByScn(classname);
-
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- cq.eq(refidFiled, refid);
- cq.add();
- commonDao.getDataGridReturn(cq, true);
- // List result = dataGrid.getResults();
- // try {
- // } catch (Exception e) {
- // throw new BusinessException(e);
- // }
- // dataGrid.setResults(result);
- TagUtil.datagrid(response, dataGrid);
- }
-
- /**
- * 根据货品名称获取货品信息
- *
- * @param request
- * @param response
- * @param dataGrid
- * @throws ClassNotFoundException
- */
- @SuppressWarnings("rawtypes")
- @RequestMapping(params = "selRefDatagridGoods")
- public void selRefDatagridGoods(String classname, TBGoodsInfoEntity tBGoodsInfoEntity,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- Class cls = MyClassLoader.getClassByScn(classname);
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- //查询条件组装器
- //自定义追加查询条件
- String[] unitstate = new String[]{Globals.Enable_Normal};
- cq.in("status", unitstate);
- cq.eq("deleteFlag", Globals.Delete_Normal.toString());
- // 检索用货品分类编码
- if(StringUtils.isNotBlank(tBGoodsInfoEntity.getBelongCategoryCode())){
- //模糊查询
- cq.like("belongCategoryCode", "%"+tBGoodsInfoEntity.getBelongCategoryCode()+"%");
- }
- // 检索用货品名称
- if(StringUtils.isNotBlank(tBGoodsInfoEntity.getGoodsName())){
- //模糊查询
- cq.like("goodsName", "%"+tBGoodsInfoEntity.getGoodsName()+"%");
- }
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cls.newInstance());
- commonDao.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.setGoodsDesc(tBPriceInfoEntity.getRetailPrice().toString());
- break;
- }
- }
- }
- }
- }
- try {
- //result =systemService.dealResultShowText4Entities(dataGrid.getResults(), cls);
- } catch (Exception e) {
- throw new BusinessException(e);
- }
- dataGrid.setResults(result);
- TagUtil.datagrid(response, dataGrid);
- }
-
- /**
- * @param categoryName
- * @param categoryName
- * @return
- */
- 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;
- }
-
- /**
- * 选择会员跳转页面
- *
- * @return
- */
- @RequestMapping(params = "selectReferGoods")
- public ModelAndView selectReferGoods(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectGoodsInfo");
- 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("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;
- }
-
- /**
- * 仓库弹出框
- * @param request
- * @param response
- * @param dataGrid
- * @throws ClassNotFoundException
- */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridWareHouse")
- public void selRefDatagridWareHouse(String classname,WarehouseEntity warehouse,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- Class cls = MyClassLoader.getClassByScn(classname);
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- //自定义追加查询条件
- String[] unitstate = new String[]{Globals.Enable_Normal};
- cq.in("status", unitstate);
- cq.eq("deleteFlag", Globals.Delete_Normal.toString());
- // 检索用仓库编码
- if(StringUtils.isNotBlank(warehouse.getWarehouseCode())){
- cq.eq("warehouseCode", warehouse.getWarehouseCode());
- }
- // 检索用仓库名称
- if(StringUtils.isNotBlank(warehouse.getWarehouseName())){
- cq.eq("warehouseName", warehouse.getWarehouseName());
- }
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cls.newInstance());
- commonDao.getDataGridReturn(cq, true);
- List result = dataGrid.getResults();
- try {
- //result =systemService.dealResultShowText4Entities(dataGrid.getResults(), cls);
- } catch (Exception e) {
- throw new BusinessException(e);
- }
- dataGrid.setResults(result);
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 加载申购单服务
- * 查询存在未采购完成的申购单
- * */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridQGD")
- public void selRefDatagridQGD(OrdersEntity qgd,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- Class cls = MyClassLoader.getClassByScn(OrdersEntity.class.getName());
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
-
- String sql_orderDetail = "select distinct fk_id from t_b_order_products detail where ifnull(detail.quantity_arrived,0) < detail.quantity";
-
- List<String> order_ids = systemService.findListbySql(sql_orderDetail);
-
- //自定义追加查询条件:已审批
- String[] unitstate = new String[]{"3"};
- cq.in("bpmStatus", unitstate);
-
- if(order_ids != null && order_ids.size()>0) {
- //自定义追加查询条件:未采购完毕
- cq.in("id",order_ids.toArray(new String[]{}));
- cq.addOrder("createDate", SortDirection.desc);
- // 仓库过滤
- if(StringUtils.isNotBlank(qgd.getWarehouseId())){
- cq.eq("warehouseId", qgd.getWarehouseId());
- }
-
- // 申购月度过滤
- if(StringUtils.isNotBlank(qgd.getOrderMonths())){
- cq.eq("orderMonths", qgd.getOrderMonths());
- }
-
- cq.add();
- List<OrdersEntity> result = systemService.getListByCriteriaQuery(cq, false);
- dataGrid.setResults(result);
-
- }else {
- List<OrdersEntity> result = new ArrayList<>();
- dataGrid.setResults(result);
- }
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 仓库弹出框
- * @return
- */
- @RequestMapping(params = "selectReferWareHouse")
- public ModelAndView selectReferWareHouse(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectWareHouseInfo");
- 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("codefield", oConvertUtils.getString(request.getParameter("codefield")));
- mv.addObject("namefield", oConvertUtils.getString(request.getParameter("namefield")));
- return mv;
- }
-
-
- /**
- * 经手人弹出框
- * @param request
- * @param response
- * @param dataGrid
- * @throws ClassNotFoundException
- */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridHandlerPerson")
- public void selRefDatagridHandlerPerson(String classname,TSBaseUser tSBaseUser,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- // Class cls = MyClassLoader.getClassByScn(classname);
- // CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- // //自定义追加查询条件
- // Short[] status = new Short[]{Globals.ONLINE,Globals.OFFLINE};
- // cq.in("status", status);
- // cq.eq("deleteFlag", Globals.Delete_Normal);
- // // 检索用仓库编码
- // if(StringUtils.isNotBlank(tSBaseUser.getUserName())){
- // cq.eq("userName", tSBaseUser.getUserName());
- // }
- // // 检索用仓库名称
- // if(StringUtils.isNotBlank(tSBaseUser.getRealName())){
- // cq.eq("realName", tSBaseUser.getRealName());
- // }
- // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cls.newInstance());
- // commonDao.getDataGridReturn(cq, true);
- // List result = dataGrid.getResults();
- // try {
- // //result =systemService.dealResultShowText4Entities(dataGrid.getResults(), cls);
- // } catch (Exception e) {
- // throw new BusinessException(e);
- // }
- // dataGrid.setResults(result);
- // TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 经手人弹出框
- * @return
- */
- @RequestMapping(params = "selectReferHandlerPerson")
- public ModelAndView selectReferHandlerPerson(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectHandlerPersonInfo");
- 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("codefield", oConvertUtils.getString(request.getParameter("codefield")));
- mv.addObject("namefield", oConvertUtils.getString(request.getParameter("namefield")));
- return mv;
- }
- /**
- * 物流弹出框
- * @param request
- * @param response
- * @param dataGrid
- * @throws ClassNotFoundException
- */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridLogistics")
- public void selRefDatagridLogistics(String classname,TBLogisticsEntity tBLogisticsEntity,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- Class cls = MyClassLoader.getClassByScn(classname);
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- //自定义追加查询条件
- String[] unitstate = new String[]{Globals.Enable_Normal};
- cq.in("status", unitstate);
- cq.eq("deleteFlag", Globals.Delete_Normal.toString());
- // 检索用仓库编码
- if(StringUtils.isNotBlank(tBLogisticsEntity.getCompanyCode())){
- cq.eq("companyCode", tBLogisticsEntity.getCompanyCode());
- }
- // 检索用仓库名称
- if(StringUtils.isNotBlank(tBLogisticsEntity.getCompanyName())){
- cq.eq("companyName", tBLogisticsEntity.getCompanyName());
- }
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, cls.newInstance());
- commonDao.getDataGridReturn(cq, true);
- List result = dataGrid.getResults();
- try {
- //result =systemService.dealResultShowText4Entities(dataGrid.getResults(), cls);
- } catch (Exception e) {
- throw new BusinessException(e);
- }
- dataGrid.setResults(result);
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 物流弹出框
- * @return
- */
- @RequestMapping(params = "selectReferLogistics")
- public ModelAndView selectReferLogistics(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectLogisticsInfo");
- 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("codefield", oConvertUtils.getString(request.getParameter("codefield")));
- mv.addObject("namefield", oConvertUtils.getString(request.getParameter("namefield")));
- return mv;
- }
- /**
- * 取消采购单
- *
- * @author guoqing.yan
- */
- @RequestMapping(params = "doCancel")
- @ResponseBody
- public AjaxJson doCancel(String id, HttpServletRequest req) {
- AjaxJson j = new AjaxJson();
- String message = null;
- POrdersEntity orders = ordersService.getEntity(POrdersEntity.class, id);
- try{
- // 未审批和已经审批的可以取消
- if(orders.getOrderStatus() != null &&(orders.getOrderStatus().equals(Globals.UNAPPROVED) || orders.getOrderStatus().equals(Globals.APPROVED))){
- orders.setOrderStatus(Globals.CANCELED);//订单状态: 取消
- ordersService.updateEntitie(orders);
- message = "单号:" + orders.getOrderOnumber() + "取消成功!";
- systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- }else{
- message = "该单不能取消,请确认!";
- }
- }catch(Exception e){
- message = "操作失败!";
- }
- j.setMsg(message);
- return j;
- }
- /**
- * 取消采购单
- *
- * @author guoqing.yan
- */
- @RequestMapping(params = "doCancelAuditOrder")
- @ResponseBody
- public AjaxJson doCancelAuditOrder(String id,String refundvalue, HttpServletRequest req) {
- AjaxJson j = new AjaxJson();
- POrdersEntity orders = ordersService.get(POrdersEntity.class, id);
- ordersService.delMain(orders);
- String message = "取消成功!";
- //POrdersEntity orders = ordersService.getEntity(POrdersEntity.class, id);
- // try{
- // // 首先判断该订单是否入库,如果入库则不能取消
- // Long godownOrderCount = systemService.getCountForJdbc("select count(1) from t_b_godown_entry where purchase_order_no='" + orders.getOrderOnumber() + "'");
- // // 未入库时候
- // if(godownOrderCount <=0){
- // if(StringUtils.isNotBlank(refundvalue)){
- // // 退的预付定金额
- // Double refundMoney = Double.parseDouble(refundvalue);
- // CollectMiddleEntity collectMiddleEntity = new CollectMiddleEntity();
- // collectMiddleEntity.setUnitId(orders.getSupplierId());// 供应商ID
- // collectMiddleEntity.setCollectionOrderOnumber(orders.getOrderOnumber());//订单号
- // collectMiddleEntity.setCollectionType(Globals.DEPOSIT_REFUND);// 预付定金退款
- // collectMiddleEntity.setAmountReceivable(refundMoney);
- // collectMiddleService.saveOrUpdate(collectMiddleEntity);
- // // 更新 往来单位表中的 应收余额
- // RelatedUnitsEntity relatedUnitsEntity = relatedUnitsService.get(RelatedUnitsEntity.class, orders.getSupplierId());
- // if(relatedUnitsEntity.getAmountReceivable() != null){
- // relatedUnitsEntity.setPrepaidBalance(refundMoney + relatedUnitsEntity.getAmountReceivable());// 预付余额
- // }else{
- // relatedUnitsEntity.setPrepaidBalance(refundMoney);// 预付余额
- // }
- // relatedUnitsService.updateEntitie(relatedUnitsEntity);
- // }
- // // 未审批和已经审批的可以取消
- // if(orders.getOrderStatus() != null && !orders.getOrderStatus().equals(Globals.CANCELED)){
- // orders.setOrderStatus(Globals.CANCELED);//订单状态: 取消
- // ordersService.updateEntitie(orders);
- // message = "单号:" + orders.getOrderOnumber() + "取消成功!";
- // systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- // }else{
- // message = "该单已经取消,请确认!";
- // }
- // // 已经入库的时候
- // }else{
- // message = "该订单已经入库,不能取消,请确认!";
- // }
- //
- // }catch(Exception e){
- // message = "操作失败!";
- // }
- j.setMsg(message);
- return j;
- }
-
- /**
- * 审核通过 采购单
- *
- * @author guoqing.yan
- */
- @RequestMapping(params = "doAudit")
- @ResponseBody
- public AjaxJson doAudit(String id, HttpServletRequest req) {
- AjaxJson j = new AjaxJson();
- String message = null;
- POrdersEntity orders = ordersService.getEntity(POrdersEntity.class, id);
- try{
- // 未审批和已经审批的可以取消
- if(orders.getOrderStatus() != null &&orders.getOrderStatus().equals(Globals.UNAPPROVED)){
- // 预付定金 不为空的时候
- if(orders.getPrepaidMoney() != null && orders.getPrepaidMoney() >0){
- // 更新 付款明细中间表
- // PaymentMiddleEntity paymentMiddleEntity = new PaymentMiddleEntity();
- // paymentMiddleEntity.setUnitId(orders.getSupplierId());// 供应商ID
- // paymentMiddleEntity.setPaymentDate(new Date());// 应付款发生日期
- // paymentMiddleEntity.setPaymentOrderOnumber(orders.getOrderOnumber());// 应付款单据编号
- // paymentMiddleEntity.setPaymentType(Globals.PURCHASE_ADVANCE_PAYMENT);// 应付款类型 采购预付款
- // paymentMiddleEntity.setHandlerPerson(orders.getHandlerPersonId());// 经手人
- // paymentMiddleEntity.setAmountPayable(orders.getPrepaidMoney());// 应付定金
- // paymentMiddleService.save(paymentMiddleEntity);
- // 更新 往来单位表中的 预付余额
- RelatedUnitsEntity relatedUnitsEntity = relatedUnitsService.get(RelatedUnitsEntity.class, orders.getSupplierId());
- if(relatedUnitsEntity.getPrepaidBalance() != null){
- relatedUnitsEntity.setPrepaidBalance(orders.getPrepaidMoney() + relatedUnitsEntity.getPrepaidBalance());// 预付余额
- }else{
- relatedUnitsEntity.setPrepaidBalance(orders.getPrepaidMoney());// 预付余额
- }
- relatedUnitsService.updateEntitie(relatedUnitsEntity);
- }
- // 采购单审核状态更新
- ordersService.updateEntitie(orders);
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
- orders.setAuditDate(new Date());
- orders.setOrderAuditor(tuser.getRealName());
- orders.setOrderStatus(Globals.APPROVED);//订单状态: 已审批
- message = "单号:" + orders.getOrderOnumber() + "已生效!";
- systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
- }else{
- message = "该单已经取消或者已生效,不能提交生效,请确认!";
- }
- }catch(Exception e){
- message = "操作失败!";
- }
- j.setMsg(message);
- return j;
- }
- @RequestMapping(params = "selectPorder")
- public ModelAndView selectPorder(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectPOrderList");
- return mv;
- }
- /**
- * 加载采购单(已经添加到物料采购的采购单就不再提示了)
- * 查询存在未全部到货完成的采购单
- * */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridPOrder")
- public void selRefDatagridPOrder(POrdersEntity order,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- Class cls = MyClassLoader.getClassByScn(POrdersEntity.class.getName());
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- //领料点权限
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser)session.getAttribute("LOCAL_CLINET_USER");
- String sql_orderDetail = "select distinct fk_id from t_b_porder_details detail "
- + " left join t_b_porders f on f.id = detail.fk_id "
- + " left join t_b_warehouse ware on ware.id = f.warehouse_id "
- + " where detail.quantity_not_arrived > 0 and ware.responsible_person = '"+ tuser.getId()+"' ";
- List<String> order_ids = systemService.findListbySql(sql_orderDetail);
-
- if(order_ids != null && order_ids.size()>0) {
- //自定义追加查询条件:未采购完毕
- cq.in("id",order_ids.toArray(new String[]{}));
- cq.addOrder("createDate", SortDirection.desc);
- // 仓库过滤
- if(StringUtils.isNotBlank(order.getWarehouseId())){
- cq.eq("warehouseId", order.getWarehouseId());
- }
- cq.add();
- List<OrdersEntity> result = systemService.getListByCriteriaQuery(cq, false);
- dataGrid.setResults(result);
-
- }else {
- List<OrdersEntity> result = new ArrayList<>();
- dataGrid.setResults(result);
- }
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 加载采购单明细
- * 查询存在未全部到货完成的采购单明细
- * */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selRefDatagridPOrderDetail")
- public void selRefDatagridPOrderDetail(POrdersEntity order,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- Class cls = MyClassLoader.getClassByScn(OrderDetailsEntity.class.getName());
- CriteriaQuery cq = new CriteriaQuery(cls, dataGrid);
- String hql_orderDetail = "from OrderDetailsEntity where fkId =? and quantityNotArrived > 0";
- List<OrderDetailsEntity> details = systemService.findHql(hql_orderDetail,order.getId());
- dataGrid.setResults(details);
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 选择物料类其他签报
- * @param request
- * @return
- */
- @RequestMapping(params = "selectFixAsset")
- public ModelAndView selectFixAsset(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("cn/com/lzt/purchase/selectFixAssetInfo");
- String ids = oConvertUtils.getString(request.getParameter("ids"));
- mv.addObject("ids", ids);
- return mv;
- }
- /**
- * 加载物料类其他签报
- * */
- @SuppressWarnings({"rawtypes" })
- @RequestMapping(params = "selectFixAssetDatagrid")
- public void selectFixAssetDatagrid(OrdersFixAssetEntity entity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) throws Exception {
- CriteriaQuery cq = new CriteriaQuery(OrdersFixAssetEntity.class, dataGrid);
- String sql_orderDetail = "select distinct fk_id from t_b_order_fix_asset_products detail where ifnull(detail.quantity_arrived,0) < detail.quantity";
- List<String> order_ids = systemService.findListbySql(sql_orderDetail);
- //自定义追加查询条件:已审批
- String[] unitstate = new String[]{"3"};
- cq.in("bpmStatus", unitstate);
- cq.eq("orderFor", "0");//只能选公司采购,自行采购自动生成采购单
- if(order_ids != null && order_ids.size()>0) {
- //自定义追加查询条件:未采购完毕
- cq.in("id",order_ids.toArray(new String[]{}));
- cq.addOrder("createDate", SortDirection.desc);
- // 仓库过滤
- if(StringUtils.isNotBlank(entity.getWarehouseId())){
- cq.eq("warehouseId", entity.getWarehouseId());
- }
- cq.add();
- List<OrdersEntity> result = systemService.getListByCriteriaQuery(cq, false);
- dataGrid.setResults(result);
- }else {
- List<OrdersEntity> result = new ArrayList<>();
- dataGrid.setResults(result);
- }
- TagUtil.datagrid(response, dataGrid);
- }
-
- /**
- * 导出乐忆excel
- *
- * @param request
- * @param response
- */
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @RequestMapping(params = "exportQingyuXls")
- public String exportQingyuXls(String orderid,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
- List<OrderToQingyuDto> list = getQingyuList(orderid);
- map.put(NormalExcelConstants.FILE_NAME,"美都环卫物业清羽工贸送货清单");
- map.put(NormalExcelConstants.CLASS,OrderToQingyuDto.class);
- ExportParams params = new ExportParams("美都环卫物业清羽工贸送货清单", "日期:", "清羽工贸送货清单");
- params.setAddIndex(true);
- map.put(NormalExcelConstants.PARAMS,params);
- map.put(NormalExcelConstants.DATA_LIST,list);
- return NormalExcelConstants.JEECG_EXCEL_VIEW;
- }
- /**
- * @param orderid
- * @return
- */
- private List<OrderToQingyuDto> getQingyuList(String ids) {
- HashMap<String, OrderToQingyuDto> hm_warehouse2dto = new HashMap<>();
- if(ids != null) {
- String[] splits = ids.split(",");
- if(splits.length > 0) {
- for(String id:ids.split(",")){
- POrdersEntity orders = systemService.getEntity(POrdersEntity.class,id);
- if(orders != null) {
- String orderid = orders.getId();
- String hql0 = "from OrderDetailsEntity where 1 = 1 AND fK_ID =? ";
- try{
- List<OrderDetailsEntity> orderDetailsEntityList = systemService.findHql(hql0,orderid);
- for(OrderDetailsEntity entity : orderDetailsEntityList) {
- String supplier = orders.getWarehouseId();
- OrderToQingyuDto dto = getOrderToQingyuDto(supplier, hm_warehouse2dto);
- dealDeliverListData(orders, entity, dto);
- }
- }catch(Exception e){
- logger.info(e.getMessage());
- }
- }
- }
- }
- }
- return new ArrayList<OrderToQingyuDto>(hm_warehouse2dto.values());
- }
-
- private OrderToQingyuDto getOrderToQingyuDto(String supplier, HashMap<String, OrderToQingyuDto> hm_supplier2Dto) {
- OrderToQingyuDto dto = hm_supplier2Dto.get(supplier);
- if(dto == null) {
- dto = new OrderToQingyuDto();
- hm_supplier2Dto.put(supplier, dto);
- }
- return dto;
- }
- /**
- * @param orders
- * @param entity
- * @param dto
- */
- private void dealDeliverListData(POrdersEntity orders, OrderDetailsEntity entity, OrderToDeliverListDto dto) {
- if(StringUtil.isEmpty(dto.getWarehouseId())) {
- dto.setWarehouseId(orders.getWarehouseId());
- }
-
- if(StringUtil.isEmpty(dto.getWarehouseName())) {
- dto.setWarehouseName(orders.getWarehouseName());
- }
-
- if(StringUtil.isEmpty(dto.getWarehouseAddr())){
- String warehouseid = orders.getWarehouseId();
- WarehouseEntity warehouse = systemService.get(WarehouseEntity.class, warehouseid);
- dto.setWarehouseAddr(warehouse.getWarehouseAddress());
- // String responsiblePerson = warehouse.getResponsiblePerson();
- // TSUser user = systemService.get(TSUser.class, responsiblePerson);
- dto.setWarehouseContact(warehouse.getShoujianren());
- dto.setWarehousePhone(warehouse.getShoujianrenPhone());
- }
-
- String goodsid = entity.getGoodsId();
- TBGoodsInfoEntity goodsEntity = systemService.get(TBGoodsInfoEntity.class, goodsid);
-
- setValueByAnnotation(dto,orders, entity, goodsEntity);
- }
-
-
- /**
- * 通過反射和注解的方式獲取訂單貨品數量
- * @param dtoclass
- * @param orders
- * @param entity
- * @param goodsEntity
- */
- private void setValueByAnnotation(OrderToDeliverListDto dto, POrdersEntity orders, OrderDetailsEntity entity, TBGoodsInfoEntity goodsEntity) {
- Field[] fields = dto.getClass().getDeclaredFields();
- for(int i=0 ; i<fields.length ; i++) {
- Field f = fields[i];
- if(f.isAnnotationPresent(GoodsCode.class )) {
- try {
- f.setAccessible(true);
- GoodsCode goodscode = f.getAnnotation(GoodsCode.class);
- PropertyDescriptor pd = new PropertyDescriptor(f.getName(), dto.getClass());
- Method readMethod = pd.getReadMethod();//获得读方法
- Method writeMethod = pd.getWriteMethod();//获得写方法
- Object result = readMethod.invoke(dto);
- Double resDouble = result == null ? 0.0 : (Double)result;
- resDouble += getOrderDetailQuantity(orders, entity, goodsEntity, goodscode.value());
- writeMethod.invoke(dto, resDouble);
- } catch (Exception e) {
- logger.error("导出送货单时出现反射错误,采购单id:" + orders.getId());
- }
- }
- }
-
- }
- @RequestMapping(params = "goView")
- public ModelAndView goView(POrdersEntity entity, HttpServletRequest req) {
- if (StringUtil.isNotEmpty(entity.getId())) {
- entity = systemService.getEntity(POrdersEntity.class, entity.getId());
- req.setAttribute("entity", entity);
- }
- String taskId = oConvertUtils.getString(req.getParameter("taskId"));
- if(oConvertUtils.isNotEmpty(taskId)){
- FormProcUtil.initWorkflowParam(req);
- req.setAttribute("taskId",taskId);
- }
- req.setAttribute("in_process",true);
- return new ModelAndView("cn/com/lzt/purchase/orders-view");
- }
- //手机审批
- @RequestMapping(params = "goViewMobile")
- public ModelAndView goViewMobile(POrdersEntity entity, HttpServletRequest req) {
- goView(entity,req);
- if(LztUtil.isApiRequest()) {
- Map<String, Object> data = LztUtil.copyReqAttributes(new String[]{"entity", "taskId"});
- String flag = req.getParameter("flag");
- data.put("flag",flag==null?-1:Integer.valueOf(flag));
- return new JsonDataModelAndView(WXAjaxJson.success(data));
- }
- return new ModelAndView("cn/com/lzt/useractiviti/exchange/exchange_view_mobile");
- }
- @RequestMapping(params="exportDetailPdf4Mobile")
- public void exportDetailPdf4Mobile(@RequestParam("procInstId") String procInstId, HttpServletResponse response){
- ActivitiTools tools = ActivitiTools.getInstance(procInstId);
- if(tools!=null){
- tools.getPdfExport().procInstId(null);
- tools.exportToResponse(response);
- }
- }
- }
|