feature:允许手工勾选物料更新

release
gaorl 2 years ago
parent 535fd0d559
commit 627675814d
  1. 7
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/dao/TaxClassCodeMapper.java
  2. 14
      order-management-base-service/src/main/resources/mybatis/mapper/TaxClassCodeMapper.xml
  3. 14
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/controller/OrderInfoController.java
  4. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/OrderInfoService.java
  5. 32
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java

@ -23,6 +23,13 @@ public interface TaxClassCodeMapper {
TaxClassCodeEntity selectTaxClassCodeBySpbm(@Param("spbm") String spbm);
/**
* 根据税收编码统计数
* @param spbms
* @return
*/
Integer countTaxClassCodeBySpbm(@Param("spbms") List<String> spbms,@Param("map")Map map);
List<TaxClassCodeEntity> selectTaxClassCodeBySpmcOrSm(String queryString);

@ -44,6 +44,20 @@
where tcc.spbm = #{spbm} limit 1
</select>
<select id="countTaxClassCodeBySpbm" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
count(*)
FROM
tax_class_code tcc
where tcc.spbm in
<foreach collection="spbms" item="spbm" open="(" separator="," close=")">
#{spbm}
</foreach>
<if test="map.cpy != null and map.cpy != ''">
and cpy = #{map.cpy}
</if>
</select>
<select id="selectTaxClassCode" parameterType="map"
resultType="com.dxhy.order.baseservice.module.taxclass.model.TaxClassCodeEntity">

@ -460,10 +460,18 @@ public class OrderInfoController {
@ApiOperation(value = "订单更新物料", notes = "订单信息管理-更新物料")
@PostMapping("/updateOrderItem")
@SysLog(operation = "订单更新物料", operationDesc = "订单更新物料", key = "订单更新物料")
public R updateOrderItem(@RequestParam("orderId")String orderId,@RequestParam("entId")String entId){
log.info("订单更新物料请参orderinfoId:{},entId:{}",orderId,entId);
public R updateOrderItem(@RequestBody String param){
log.info("订单更新物料",param);
JSONObject jsonObject = JSONObject.parseObject(param);
String entId = jsonObject.getString("entId");
String orderInfoId = jsonObject.getString("orderInfoId");
JSONArray jsonArray = jsonObject.getJSONArray("itemList");
if(jsonArray == null || jsonArray.isEmpty()){
return R.error("请求参数有误,待合并明细行不允许为空");
}
List<String> itemList = jsonArray.toJavaList(String.class);
try {
return orderInfoService.updateOrderItem(orderId,entId);
return orderInfoService.updateOrderItem(orderInfoId,entId,itemList);
} catch (Exception e) {
log.error(e.getMessage());
return R.error("系统异常");

@ -216,7 +216,7 @@ public interface OrderInfoService {
@Transactional
R logicalDeleteByOrderInfoId(List<PageRequestVO> pageRequestList);
R updateOrderItem(String orderInfoId,String entId);
R updateOrderItem(String orderInfoId,String entId,List<String> itemList);
@Transactional
R mergeOrderItem(String entId,String orderInfoId,List<String> itemList);

@ -1805,16 +1805,12 @@ public class OrderInfoServiceImpl implements OrderInfoService {
}
@Override
public R updateOrderItem(String orderInfoId,String entId){
public R updateOrderItem(String orderInfoId,String entId,List<String> itemList){
//根据订单id查询明细数据
List<OrderItemInfo> orderItemInfos = orderItemInfoMapper.selectAllByOrderId(Arrays.asList(orderInfoId), null);
List<OrderItemInfo> collect = orderItemInfos.stream().filter(t -> itemList.contains(t.getId())).collect(Collectors.toList());
List<OrderItemInfo> orderItemInfoList = new ArrayList<>();
Boolean oilMark = false;
int i = 0;
for (OrderItemInfo orderItemInfo : orderItemInfos) {
// if(StringUtils.isNotBlank(orderItemInfo.getSpbm())){
// continue;
// }
for (OrderItemInfo orderItemInfo : collect) {
CommodityCodeEntity commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(orderItemInfo.getZxbm(), null, entId);
// 如果公司物料库匹配失败,从集团物料库匹配
if (commodityCodeEntity == null) {
@ -1828,19 +1824,22 @@ public class OrderInfoServiceImpl implements OrderInfoService {
orderItemInfo.setZnfm(ConfigureConstant.STRING_0);
orderItemInfo.setXmsl(null);
orderItemInfo.setXmdj(null);
if(StringUtils.isNotBlank(commodityCodeEntity.getCpy()) && "Y".equals(commodityCodeEntity.getCpy())){
i++;
}
}
orderItemInfoList.add(orderItemInfo);
}
if(orderItemInfoList.size()==i){
List<String> collect1 = orderItemInfos.stream().filter(t -> StringUtils.isNotBlank(t.getSpbm())).map(t -> t.getSpbm()).collect(Collectors.toList());
if(collect1.size()==orderItemInfos.size()){
Map map = new HashMap(2);
map.put("cpy","Y");
Integer integer = taxClassCodeMapper.countTaxClassCodeBySpbm(collect1, map);
if(orderItemInfoList.size()==integer.intValue()){
//更新order_info 清单标志为4
OrderInfo orderInfo = new OrderInfo();
orderInfo.setId(orderInfoId);
orderInfo.setQdBz("4");
orderMapper.updateOrderInfoByOrderId(orderInfo,null);
}
}
if(!orderItemInfoList.isEmpty()){
orderItemInfoMapper.updateOrderItemId(orderItemInfoList);
}
@ -1939,21 +1938,14 @@ public class OrderInfoServiceImpl implements OrderInfoService {
item.setZzstsgl(commodity.getZzstsgl());
//如果项目名称为空,使用底层返回数据进行补全,如果不为空,并且需要补全,则进行补全
String spmc = item.getXmmc();
String spmc = "";
StringBuilder stringBuilder = new StringBuilder();
if (StringUtils.isBlank(spmc)) {
if(StrUtil.isNotBlank(commodity.getInvoiceName())){
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getInvoiceName()).toString();
}else{
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc()).toString();
}
} else if (StringUtil.checkStr(spmc, commodity.getSpjc())) {
if(StrUtil.isNotBlank(commodity.getInvoiceName())){
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getInvoiceName()).toString();
}else{
spmc = stringBuilder.append("*").append(commodity.getSpjc()).append("*").append(commodity.getXmmc()).toString();
}
}
item.setXmmc(spmc);
//发票行性质为折扣行,不补全,单价,数量,单位,规格型号

Loading…
Cancel
Save