123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 |
- package com.platform.yijia.controller;
- import com.google.gson.Gson;
- import com.platform.yijia.param.request.LoginBody;
- import com.platform.yijia.pojo.PayOrder;
- import com.platform.yijia.pojo.StationClassStructure;
- import com.platform.yijia.pojo.StationClassesSummary;
- import com.platform.yijia.pojo.SysUser;
- import com.platform.yijia.service.IStationClassStructureService;
- import com.platform.yijia.service.IStationClassesSummaryService;
- import com.platform.yijia.service.PayOrderService;
- import com.platform.yijia.service.PosMachineService;
- import com.platform.yijia.utils.CodeMsg;
- import com.platform.yijia.utils.ResultData;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import java.math.BigDecimal;
- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * <Title> PosMachineController </Title>
- * <Description> POS机端控制层 </Description>
- * @Author JK
- * @Date 2021年3月17日
- */
- @Controller
- @RequestMapping("/demo")
- public class PosMachineController {
- @Resource
- private PosMachineService posMachineService;
- @Resource
- private IStationClassStructureService stationClassStructureService;
- @Resource
- private IStationClassesSummaryService stationClassesSummaryService;
- @Resource
- private PayOrderService payOrderService;
- //POS机端用户登录
- @RequestMapping(value = "/loginPosMachine", method = RequestMethod.POST)
- @ResponseBody
- public String loginPosMachine(@RequestBody LoginBody loginBody){
- //Using generated security password: a78f4bd0-6087-4fff-ae5d-f2e4cd8c7961
- Gson gson =new Gson();
- //返回结果集
- ResultData resultData = null;
- if(loginBody.getUserName() !=null && loginBody.getPassword() !=null){
- SysUser sysUser = posMachineService.selectUserByUserName(loginBody.getUserName());
- if(sysUser !=null){
- String password = sysUser.getPassword();
- BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
- //密码加密判断已加密密码是否与真实密码相同
- boolean matches = bCryptPasswordEncoder.matches(loginBody.getPassword(), password);
- if(matches){
- resultData = ResultData.success(sysUser);
- }else{
- resultData = ResultData.error(CodeMsg.PASSWORD_ERROR);
- }
- }else {
- resultData = ResultData.error(CodeMsg.USER_NOT_EXSIST);
- }
- }
- return gson.toJson(resultData);
- }
- /**
- * pos机班结
- * @param stationClassStructure
- * @return
- * @throws ParseException
- */
- @RequestMapping (value = "/posClassStructure", method = RequestMethod.POST)
- @ResponseBody
- public Map posClassStructure (@RequestBody StationClassStructure stationClassStructure) throws ParseException {
- Map map = new HashMap();
- //获取当前班结油站
- Integer stationId=stationClassStructure.getStationId();
- //String stationName=stationClassStructure.getStationName();
- String username = stationClassStructure.getClassStructureMan();
- //根据油站查询出油站是否班结过,班结过就需要查询上次班结的时间
- StationClassStructure classes =new StationClassStructure();
- classes.setStationId(stationId);
- //查询出上次班结,最后一条数据
- StationClassStructure sss =stationClassStructureService.selectStationClassStructureMax(classes);
- String beginTime="";
- //当前时间
- Date date= new Date();
- StationClassStructure classesStructure =new StationClassStructure();
- classesStructure.setStationId(stationId);
- DateFormat dFormat = new SimpleDateFormat("yyyyMMdd");
- String no=dFormat.format(date);
- classesStructure.setLikeClassStructureNo(no);
- //查询班结信息中本日班结次数
- StationClassStructure structure =stationClassStructureService.selectDistnctClassStructure(classesStructure);
- if(structure!=null){
- if(structure.getNum()==0){
- no = no + "0"+1;
- }else{
- int num = structure.getNum()+1;
- if(num>0 && num<10){
- no = no + "0"+num;
- }else{
- no = no +""+ num;
- }
- }
- }
- int i=0;
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- if(sss!=null){
- //获取上次班结时间
- PayOrder order=new PayOrder();
- order.setStationId(stationId);
- order.setStatus("1");
- beginTime= dateFormat.format(sss.getClassStructureDate());
- order.setBeginTime(beginTime);
- order.setEndTime( dateFormat.format(date));
- List<PayOrder> list = payOrderService.selectPayOrderList(order);
- for(PayOrder payOrder:list){
- StationClassStructure stationclass =new StationClassStructure();
- stationclass.setStationId(payOrder.getStationId());
- stationclass.setStationName(payOrder.getStationName());
- stationclass.setClassStartDate(dateFormat.parse(beginTime));
- stationclass.setClassStructureMan(username);
- stationclass.setClassStructureNo(no);
- stationclass.setClassStructureDate(date);
- stationclass.setOrderNo(payOrder.getOrderNo());
- stationclass.setOilGun(payOrder.getOilGun());
- stationclass.setOilName(payOrder.getOilName());
- stationclass.setConsumerId(payOrder.getConsumerId());
- stationclass.setConsumer(payOrder.getConsumer());
- stationclass.setAmt(new BigDecimal(payOrder.getAmt()));
- if(payOrder.getReceivableAmt()!=null){
- stationclass.setReceivableAmt(new BigDecimal(payOrder.getReceivableAmt()));
- }else{
- stationclass.setReceivableAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getReceivedAmt()!=null){
- stationclass.setReceivedAmt(new BigDecimal(payOrder.getReceivedAmt()));
- }else{
- stationclass.setReceivedAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDiscountAmt()!=null){
- stationclass.setDiscountAmt(new BigDecimal(payOrder.getDiscountAmt()));
- }else{
- stationclass.setDiscountAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDiscountCouponAmt()!=null){
- stationclass.setDiscountCouponAmt(new BigDecimal(payOrder.getDiscountCouponAmt()));
- }else{
- stationclass.setDiscountCouponAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getWxAmt()!=null){
- stationclass.setWxAmt(new BigDecimal(payOrder.getWxAmt()));
- }else{
- stationclass.setWxAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getZfbAmt()!=null){
- stationclass.setZfbAmt(new BigDecimal(payOrder.getZfbAmt()));
- }else{
- stationclass.setZfbAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getPosAmt()!=null){
- stationclass.setPosAmt(new BigDecimal(payOrder.getPosAmt()));
- }else{
- stationclass.setPosAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getXjAmt()!=null){
- stationclass.setXjAmt(new BigDecimal(payOrder.getXjAmt()));
- }else{
- stationclass.setXjAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDidiAppAmt()!=null){
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getDidiAppAmt()));
- }else{
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getTyAppAmt()!=null){
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getTyAppAmt()));
- }else{
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getOtherAmt()!=null){
- stationclass.setOtherAmt(new BigDecimal(payOrder.getOtherAmt()));
- }else{
- stationclass.setOtherAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDzkAmt()!=null){
- stationclass.setDzkAmt(new BigDecimal(payOrder.getDzkAmt()));
- }else{
- stationclass.setDzkAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getMemberAmt()!=null){
- stationclass.setMemberAmt(new BigDecimal(payOrder.getMemberAmt()));
- }else{
- stationclass.setMemberAmt(BigDecimal.valueOf(0));
- }
- stationclass.setOrderLiters(new BigDecimal(payOrder.getOrderLiters()));
- stationclass.setPayWay(payOrder.getPayWay());
- stationclass.setPayType(payOrder.getPayType());
- stationclass.setPayDate(payOrder.getPayDate());
- stationclass.setOilPersonnel(payOrder.getOilPersonnel());
- stationclass.setOrderType(payOrder.getOrderType());
- if(payOrder.getPrintCount()!=null){
- stationclass.setPrintNum(payOrder.getPrintCount());
- }else{
- stationclass.setPrintNum(Integer.valueOf("0"));
- }
- i= stationClassStructureService.insertStationClassStructure(stationclass);
- }
- }else{
- //初次班结 班结时间默认为当前时间,班结人username
- //根据班结时间查询订单
- PayOrder order=new PayOrder();
- order.setStationId(stationId);
- order.setEndTime(dateFormat.format(date));
- List<PayOrder> list = payOrderService.selectPayOrderList(order);
- for(PayOrder payOrder:list){
- StationClassStructure stationclass =new StationClassStructure();
- stationclass.setStationId(payOrder.getStationId());
- stationclass.setStationName(payOrder.getStationName());
- stationclass.setClassStructureMan(username);
- stationclass.setClassStructureDate(date);
- stationclass.setClassStructureNo(no);
- stationclass.setOrderNo(payOrder.getOrderNo());
- stationclass.setOilGun(payOrder.getOilGun());
- stationclass.setOilName(payOrder.getOilName());
- stationclass.setConsumerId(payOrder.getConsumerId());
- stationclass.setConsumer(payOrder.getConsumer());
- stationclass.setAmt(new BigDecimal(payOrder.getAmt()));
- if(payOrder.getReceivableAmt()!=null){
- stationclass.setReceivableAmt(new BigDecimal(payOrder.getReceivableAmt()));
- }else{
- stationclass.setReceivableAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getReceivedAmt()!=null){
- stationclass.setReceivedAmt(new BigDecimal(payOrder.getReceivedAmt()));
- }else{
- stationclass.setReceivedAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDiscountAmt()!=null){
- stationclass.setDiscountAmt(new BigDecimal(payOrder.getDiscountAmt()));
- }else{
- stationclass.setDiscountAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDiscountCouponAmt()!=null){
- stationclass.setDiscountCouponAmt(new BigDecimal(payOrder.getDiscountCouponAmt()));
- }else{
- stationclass.setDiscountCouponAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getWxAmt()!=null){
- stationclass.setWxAmt(new BigDecimal(payOrder.getWxAmt()));
- }else{
- stationclass.setWxAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getZfbAmt()!=null){
- stationclass.setZfbAmt(new BigDecimal(payOrder.getZfbAmt()));
- }else{
- stationclass.setZfbAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getPosAmt()!=null){
- stationclass.setPosAmt(new BigDecimal(payOrder.getPosAmt()));
- }else{
- stationclass.setPosAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getXjAmt()!=null){
- stationclass.setXjAmt(new BigDecimal(payOrder.getXjAmt()));
- }else{
- stationclass.setXjAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDidiAppAmt()!=null){
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getDidiAppAmt()));
- }else{
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getTyAppAmt()!=null){
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getTyAppAmt()));
- }else{
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getOtherAmt()!=null){
- stationclass.setOtherAmt(new BigDecimal(payOrder.getOtherAmt()));
- }else{
- stationclass.setOtherAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getDzkAmt()!=null){
- stationclass.setDzkAmt(new BigDecimal(payOrder.getDzkAmt()));
- }else{
- stationclass.setDzkAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getMemberAmt()!=null){
- stationclass.setMemberAmt(new BigDecimal(payOrder.getMemberAmt()));
- }else{
- stationclass.setMemberAmt(BigDecimal.valueOf(0));
- }
- if(payOrder.getOrderLiters() !=null){
- stationclass.setOrderLiters(new BigDecimal(payOrder.getOrderLiters()));
- }else {
- stationclass.setOrderLiters(new BigDecimal(0));
- }
- stationclass.setPayWay(payOrder.getPayWay());
- stationclass.setPayType(payOrder.getPayType());
- stationclass.setPayDate(payOrder.getPayDate());
- stationclass.setOilPersonnel(payOrder.getOilPersonnel());
- stationclass.setOrderType(payOrder.getOrderType());
- if(payOrder.getPrintCount()!=null){
- stationclass.setPrintNum(payOrder.getPrintCount());
- }else{
- stationclass.setPrintNum(Integer.valueOf("0"));
- }
- i= stationClassStructureService.insertStationClassStructure(stationclass);
- }
- }
- StationClassStructure scs =new StationClassStructure();
- scs.setClassStructureNo(no);
- //汇总班结数据将汇总的数据插入到汇总数据中
- StationClassStructure stationclass = stationClassStructureService.selectSummyClassStructure(scs);
- if(stationclass!=null){
- StationClassesSummary stationClassesSummary =new StationClassesSummary();
- stationClassesSummary.setClassesNo(stationclass.getClassStructureNo());
- if(stationclass.getClassStartDate()!=null){
- stationClassesSummary.setStartDate(stationclass.getClassStartDate());
- }
- if(stationclass.getClassStructureDate()!=null){
- stationClassesSummary.setEndDate(stationclass.getClassStructureDate());
- }
- stationClassesSummary.setStationName(stationclass.getStationName());
- if(stationclass.getStationId()!=null){
- stationClassesSummary.setStationId(stationclass.getStationId());
- }
- if(stationclass.getNum()!=null){
- stationClassesSummary.setOrderNum(Integer.valueOf(stationclass.getNum()));
- }
- if(stationclass.getPrintNum()!=null){
- stationClassesSummary.setPrintNum(stationclass.getPrintNum());
- }
- if(stationclass.getOrderLiters()!=null){
- stationClassesSummary.setSaleLiters(stationclass.getOrderLiters());
- }
- if(stationclass.getAmt()!=null){
- stationClassesSummary.setSaleAmt(stationclass.getAmt());
- }
- if(stationclass.getDzkAmt()!=null){
- stationClassesSummary.setDzkAmt(stationclass.getDzkAmt());
- }else{
- stationClassesSummary.setDzkAmt(BigDecimal.valueOf(0));
- }
- if(stationclass.getZfbAmt()!=null){
- stationClassesSummary.setZfbAmt(stationclass.getZfbAmt());
- }else{
- stationClassesSummary.setZfbAmt(BigDecimal.valueOf(0));
- }
- if(stationclass.getWxAmt()!=null){
- stationClassesSummary.setWxAmt(stationclass.getWxAmt());
- }else{
- stationClassesSummary.setWxAmt(BigDecimal.valueOf(0));
- }
- stationClassesSummary.setClassesMan(stationclass.getClassStructureMan());
- i=stationClassesSummaryService.insertStationClassesSummary(stationClassesSummary);
- if(i==1){
- //查询班结小票数据
- StationClassStructure classStructure= new StationClassStructure();
- classStructure.setClassStructureNo(no);
- classStructure.setStationId(stationId);
- //根据油品汇总数据
- List<StationClassStructure> list= stationClassStructureService.listOilStructure(classStructure);
- if(list!=null && list.size()>0){
- map.put("code","200");
- map.put("msg","班结成功");
- map.put("oilList",list);
- }else{
- map.put("code","500");
- map.put("msg","班结失败");
- }
- }
- }else{
- map.put("code","500");
- map.put("msg","班结失败");
- }
- return map;
- }
- }
|