123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- package com.steerinfo.dil.service.impl;
- import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
- import com.steerinfo.dil.mapper.TmstruckLeaveFactoryResultMapper;
- import com.steerinfo.dil.service.ITmstruckSelfMachineService;
- import com.steerinfo.dil.util.DataChange;
- import org.checkerframework.checker.regex.RegexUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.math.BigDecimal;
- import java.util.*;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * @author luobang
- * @create 2021-11-17 20:59
- */
- @Service
- public class TmstruckSelfMachineService implements ITmstruckSelfMachineService {
- @Autowired
- TmstruckEnfactoryResultMapper tmstruckEnfactoryResultMapper;
- @Autowired
- TmstruckLeaveFactoryResultMapper tmstruckLeaveFactoryResultMapper;
- /**
- * 提货单信息
- * @param orderNumber
- * @return
- */
- @Override
- public Map<String, Object> getBillOrder(String orderNumber) {
- //1.根据运输订单号查询主干信息
- Map<String,Object>map=tmstruckEnfactoryResultMapper.getBillOrder(orderNumber);
- if(map !=null){
- //2.根据运输订单号查询枝叶信息-物资
- List<Map<String,Object>>list=tmstruckEnfactoryResultMapper.getBillOrderMaterial(orderNumber);
- map.put("materialList",list);
- }
- return map;
- }
- @Override
- public List<Map<String, Object>> getBillOrderForPrinter(String orderNumber) {
- return tmstruckEnfactoryResultMapper.getBillOrderForPrinter(orderNumber);
- }
- @Override
- public Map<String, Object> getDeliveryOrder(String orderNumber) {
- Map<String,Object> map=new HashMap<>();
- try {
- //1.根据运输订单号查询主干信息
- map = tmstruckLeaveFactoryResultMapper.getDeliveryOrder(orderNumber);
- //备注信息的查找以及修改
- //String note=tmstruckLeaveFactoryResultMapper.querynote(orderNumber);
- //Date date=tmstruckLeaveFactoryResultMapper.queryDate(orderNumber);
- //if (date!=null&&!("".equals(date))){
- // map.put("note",note);
- //}else {
- // if(note!=null&&!("".equals(note))){
- // String regex="\\d{1,2}\\.\\d{1,2}";
- // Pattern pattern=Pattern.compile(regex);
- // Matcher matcher=pattern.matcher(note);
- // StringBuffer stringBuffer=new StringBuffer();
- // stringBuffer.append(note);
- // String partOfNote = tmstruckLeaveFactoryResultMapper.querypartOfNote(orderNumber);
- // while (matcher.find()){
- // String group = matcher.group();
- // /*note=note.replace(group,partOfNote);*/
- // note=matcher.replaceAll(partOfNote);
- // }
- //
- // }else {
- // map.put("note","");
- // }
- //}
- map.put("orderNumber",orderNumber);
- if(map !=null){
- List<Map<String, Object>> deliveryOrderMaterialList = tmstruckLeaveFactoryResultMapper.getDeliveryOrderMaterial(orderNumber);
- //判断为棒材还是线材
- for (Map<String,Object> map1:deliveryOrderMaterialList){
- BigDecimal materialid = (BigDecimal) map1.get("materialId");
- String materialName =(String) map1.get("materialName");
- map.put("materialName",materialName);
- BigDecimal Bigdecimal1 = tmstruckLeaveFactoryResultMapper.queryNumber(materialid, orderNumber);
- map1.put("materialNumber",Bigdecimal1);
- //判断是实重还是理重的标志
- BigDecimal isPoundSale = (BigDecimal) map1.get("isPoundSale");
- //判断是否为盘螺materialName.contains("盘螺")||materialName.contains("盘元")
- //根据运输订单号查找实绩重量
- List<Map<String, Object>> netWeightlist = tmstruckLeaveFactoryResultMapper.getNetWeightByOrder(map);
- for (Map<String, Object> stringObjectMap : netWeightlist) {
- BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
- if(materialid1 !=null&&!("".equals(materialid1))){
- if (materialid.compareTo(materialid1) == 0) {
- BigDecimal nowNetWeight = (BigDecimal) stringObjectMap.get("nowNetWeight");
- if (nowNetWeight != null) {
- map1.put("netWeightTime",stringObjectMap.get("netWeightTime"));
- if(stringObjectMap.get("saleMaterialId") != null) {
- String saleRemark = tmstruckLeaveFactoryResultMapper.getSaleRemark(DataChange.dataToBigDecimal(stringObjectMap.get("saleMaterialId")));
- map1.put("saleRemark",saleRemark);
- }
- }
- }
- }else {
- map1.put("netWeightTime", "");
- }
- }
- if (isPoundSale !=null && isPoundSale.compareTo(BigDecimal.valueOf(0))==0){
- for (Map<String, Object> stringObjectMap : netWeightlist) {
- BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
- if(materialid1 !=null&&!("".equals(materialid1))){
- if (materialid.compareTo(materialid1) == 0) {
- BigDecimal nowNetWeight = (BigDecimal) stringObjectMap.get("nowNetWeight");
- if (nowNetWeight != null) {
- map1.put("materialWeight", nowNetWeight);
- }
- }
- }else {
- map1.put("materialWeight", "");
- }
- }
- }else {
- //获取物资理重
- List<Map<String, Object>> theoryWeightlist = tmstruckLeaveFactoryResultMapper.getTheoryWeight(map);
- for (Map<String, Object> stringObjectMap : theoryWeightlist) {
- BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
- if (materialid.compareTo(materialid1) == 0){
- BigDecimal theoryWeight=(BigDecimal) stringObjectMap.get("theoreticalWeight");
- if (theoryWeight != null){
- map1.put("materialWeight",theoryWeight);
- }
- }
- }
- }
- }
- try {
- List<Map<String,Object>> deleteList= new ArrayList();
- for(Map<String,Object> lastMap : deliveryOrderMaterialList) {
- if(!(lastMap.get("materialWeight") != null && !"".equals(lastMap.get("materialWeight")))){
- deleteList.add(lastMap);
- }
- }
- deliveryOrderMaterialList.removeAll(deleteList);
- } catch (Exception e) {
- e.printStackTrace();
- }
- map.put("deliveryOrderMaterialList",deliveryOrderMaterialList);
- }
- }catch (Exception e){
- System.out.println("e"+e.getMessage());
- }
- return map;
- }
- /**
- * @author:zyf
- * @version:1.0
- * @Date:2022-09-04
- * @Description:查询出打印数量
- */
- public Map<String,Object> queryNumber(String orderNumber){
- Map<String,Object> bigDecimal = tmstruckLeaveFactoryResultMapper.queryNumber1(orderNumber);
- return bigDecimal;
- }
- /**
- * @author:zyf
- * @version:1.0
- * @Date:2022-09-04
- * @Description:更新打印数量
- */
- public void changeNumber(String orderNumber){
- tmstruckLeaveFactoryResultMapper.changeNumber(orderNumber);
- }
- }
|