Merge remote-tracking branch 'origin/release' into release

release
zhenghaiyang@ele-cloud.com 2 years ago
commit 286ea979fc
  1. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntityDetail.java
  2. 4
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/controller/CommodityController.java
  3. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/dto/QueryModifyLogResultDTO.java
  4. 19
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityCodeModifyLogServiceImpl.java
  5. 1
      order-management-base-service/src/main/resources/mybatis/mapper/CommodityCodeModifyLogDao.xml
  6. 16
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java
  7. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java
  8. 24
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
  9. 2
      order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml
  10. 3
      order-management-invoice/src/main/resources/mybatis/mapper/OrderItemInfoMapper.xml

@ -52,4 +52,6 @@ public class BuyerEntityDetail {
* 更新时间
*/
private Date updateTime;
private Boolean isEdit = false;
}

@ -678,8 +678,8 @@ public class CommodityController {
public R modifyLog(@RequestBody QueryModifyLogDTO dto) {
try {
QueryModifyLogResultDTO resp = commodityCodeModifyLogService.queryPage(dto);
PageUtils pageUtil = resp.getPageUtils();
JSONObject respJson = JSONObject.parseObject(JSONObject.toJSONString(pageUtil));
JSONObject respJson = new JSONObject();
respJson.put("data",resp.getList());
respJson.put("modifyUserName",resp.getModifyUserName());
respJson.put("modifyTime",resp.getModifyDate());
return R.ok().put("page", respJson);

@ -4,6 +4,7 @@ import com.dxhy.order.model.PageUtils;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Description
@ -13,6 +14,7 @@ import java.util.Date;
@Data
public class QueryModifyLogResultDTO {
private PageUtils pageUtils;
private List list;
private String modifyUserName;
private Date modifyDate;
}

@ -32,6 +32,8 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -56,6 +58,8 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
@Resource
private UserCenterConfig userCenterConfig;
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 比较两个集团物料编码的区别并且保存历史记录
*
@ -102,9 +106,7 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
@Override
@SneakyThrows
public QueryModifyLogResultDTO queryPage(QueryModifyLogDTO dto) {
int pageSize = dto.getPageSize();
int currPage = dto.getCurrPage();
PageHelper.startPage(currPage, pageSize);
CommodityCodeModifyLog query = new CommodityCodeModifyLog();
query.setCommodityCodeId(dto.getCommodityId());
List<CommodityCodeModifyLog> commodityCodeModifyLogs = commodityCodeModifyLogDao.queryAll(query);
@ -148,14 +150,21 @@ public class CommodityCodeModifyLogServiceImpl implements CommodityCodeModifyLog
// 处理keyName
i.setKeyName(CommodityModifiyLogKeyNameEnum.getKeyNameByKey(i.getKey()));
if(i.getNewValue() == null){i.setNewValue("");}
try {
i.setModifyTime(sdf.parse(sdf.format(i.getModifyTime())));
} catch (ParseException e) {
e.printStackTrace();
}
});
}
Date modifyDate = commodityCodeModifyLogs.size() > 0 ? commodityCodeModifyLogs.get(commodityCodeModifyLogs.size() - 1).getModifyTime() : null;
String modifyUserName = commodityCodeModifyLogs.size() > 0 ? commodityCodeModifyLogs.get(commodityCodeModifyLogs.size() - 1).getModifyUserName() : null;
PageInfo<CommodityCodeModifyLog> pageInfo = new PageInfo<>(commodityCodeModifyLogs);
// PageInfo<CommodityCodeModifyLog> pageInfo = new PageInfo<>(commodityCodeModifyLogs);
QueryModifyLogResultDTO resultDTO = new QueryModifyLogResultDTO();
resultDTO.setPageUtils(new PageUtils(pageInfo.getList(), (int) pageInfo.getTotal(), pageInfo.getPageSize(), pageInfo.getPageNum()));
//resultDTO.setPageUtils(pageInfo.getList());
resultDTO.setList(commodityCodeModifyLogs);
resultDTO.setModifyDate(modifyDate);
resultDTO.setModifyUserName(modifyUserName);
return resultDTO;

@ -56,6 +56,7 @@
and modify_time = #{modifyTime}
</if>
</where>
order by modify_time asc limit 1
</select>
<insert id="insert" keyProperty="id" useGeneratedKeys="true">

@ -412,16 +412,22 @@ public class OrderInfoController {
return R.ok().put(OrderManagementConstant.DATA, pageSlkjlyYxqRsp);
}
@ApiOperation(value = "结算单换算", notes = "订单信息管理-结算单换算")
@PostMapping("/conversionNumByRatio")
@SysLog(operation = "根据比率转换数量", operationDesc = "根据比率转换数量", key = "结算单处理")
public R ratioConversion(@RequestParam("orderInfoIds")String orderInfoIds,@RequestParam("rate")String rate,@RequestParam("xhfNsrsbh")String xhfNsrsbh){
public R ratioConversion(@RequestParam("orderInfoIds")String orderInfoIds,
@RequestParam("rate")String rate,@RequestParam("xhfNsrsbh")String xhfNsrsbh,
@RequestParam("originUnit")String originUnit,@RequestParam("newUnit")String newUnit){
//是否校验通税号
log.info("结算单转换请求参数,勾选订单id:{},转换比率:{},转换税号:{}", JSONObject.toJSONString(orderInfoIds),rate,xhfNsrsbh);
if(StringUtils.isBlank(orderInfoIds)||StringUtils.isBlank(rate)||StringUtils.isBlank(xhfNsrsbh)){
log.info("结算单转换请求参数,勾选订单id:{},转换比率:{},转换税号:{},原单位:{},新单位:{}", JSONObject.toJSONString(orderInfoIds),rate,xhfNsrsbh,originUnit,newUnit);
if(StringUtils.isBlank(orderInfoIds)||StringUtils.isBlank(rate)||StringUtils.isBlank(xhfNsrsbh)||StringUtils.isBlank(originUnit)||StringUtils.isBlank(newUnit)){
return R.error("请求参数有误");
}
orderInfoService.ratioConversion(Arrays.asList(orderInfoIds.split(",")),rate,xhfNsrsbh);
return R.ok();
try {
return orderInfoService.ratioConversion(Arrays.asList(orderInfoIds.split(",")), rate, xhfNsrsbh, originUnit, newUnit);
} catch (Exception e) {
return R.error("系统异常,请联系管理员");
}
}
}

@ -198,5 +198,5 @@ public interface OrderInfoService {
R fillRedMessage(Map<String,String> param);
R ratioConversion(List<String> orderInfoIds,String ratio,String xhfNsrsbh);
R ratioConversion(List<String> orderInfoIds,String ratio,String xhfNsrsbh,String originUnit,String newUnit);
}

@ -50,6 +50,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
import java.math.BigDecimal;
@ -1612,23 +1613,32 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
@Override
public R ratioConversion(List<String> orderInfoIds,String ratio,String xhfNsrsbh){
public R ratioConversion(List<String> orderInfoIds,String ratio,String xhfNsrsbh,String originUnit,String newUnit){
//校验是否为同一税号 校验开票情况
//根据税号+ orderinfoid查询明细信息
List<OrderProcessInfo> orderProcessInfos = orderProcessInfoMapper.selectByOrderIds(orderInfoIds, Arrays.asList(xhfNsrsbh));
List<String> collect = orderProcessInfos.stream().filter(t -> "0,1,2,3".contains(t.getDdzt())).map(t -> t.getDdh()).collect(Collectors.toList());
List<OrderItemInfo> orderItemInfos = orderItemInfoMapper.selectAllByOrderId(orderInfoIds, Arrays.asList(xhfNsrsbh));
List<String> collect = orderProcessInfos.stream().filter(t -> "0,1,2,3".contains(t.getDdzt())).map(t -> t.getOrderInfoId()).collect(Collectors.toList());
if(collect == null){
return R.error("订单状态有误,请检查后重试");
}
List<OrderItemInfo> orderItemInfos = orderItemInfoMapper.selectAllByOrderId(collect, Arrays.asList(xhfNsrsbh));
if(orderItemInfos == null ||orderItemInfos.isEmpty()){
return R.error("当前明细为空不允许进行单位换算");
}
orderItemInfos.forEach(t->{
if(StringUtils.isNotBlank(t.getXmsl())){
orderItemInfos = orderItemInfos.stream()
.filter(t->StringUtils.isNotBlank(t.getXmsl()) && originUnit.equals(t.getXmdw()))
.map(t->{
t.setXmsl(new BigDecimal(t.getXmsl()).multiply(new BigDecimal(ratio)).setScale(8, RoundingMode.HALF_UP).toString());
t.setXmdj(new BigDecimal(t.getXmje()).divide(new BigDecimal(t.getXmsl()),8,RoundingMode.HALF_UP).toString());
t.setXmdw(newUnit);
return t;
}
});
).collect(Collectors.toList());
//更新明细表
if(orderItemInfos == null || orderItemInfos.isEmpty()){
return R.error("未匹配到正确单位的数据或数量均为空");
}
orderItemInfoMapper.updateOrderItemId(orderItemInfos);
return R.ok();
}

@ -530,7 +530,7 @@
bmb_bbh, jdc, wlflbm, wlflmc,invoice_name,ent_id
)
select
CONCAT(#{to.entId,jdbcType=VARCHAR},'-',id)
CONCAT(#{to.entId,jdbcType=VARCHAR},'-',id),
commodity_id,
sort_id,
#{to.xhfNsrsbh,jdbcType=VARCHAR},

@ -280,6 +280,9 @@
<if test="item.xmdj != null ">
xmdj = #{item.xmdj,jdbcType=VARCHAR},
</if>
<if test="item.xmdw != null ">
xmdw = #{item.xmdw,jdbcType=VARCHAR},
</if>
</set>
<where>
id = #{item.id,jdbcType=VARCHAR}

Loading…
Cancel
Save