9 changed files with 277 additions and 11 deletions
-
5src/main/java/com/xujie/sys/modules/quote/controller/QuoteAttributeController.java
-
37src/main/java/com/xujie/sys/modules/quote/controller/QuoteDetailAttributeController.java
-
2src/main/java/com/xujie/sys/modules/quote/controller/QuoteDetailToolController.java
-
63src/main/java/com/xujie/sys/modules/quote/entity/QuoteDetailAttribute.java
-
19src/main/java/com/xujie/sys/modules/quote/mapper/QuoteDetailAttributeMapper.java
-
18src/main/java/com/xujie/sys/modules/quote/service/QuoteDetailAttributeService.java
-
39src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailAttributeServiceImpl.java
-
29src/main/java/com/xujie/sys/modules/quote/service/impl/QuoteDetailServiceImpl.java
-
76src/main/resources/mapper/quote/QuoteDetailAttributeMapper.xml
@ -1,5 +0,0 @@ |
|||
package com.xujie.sys.modules.quote.controller; |
|||
|
|||
public class QuoteAttributeController { |
|||
|
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
package com.xujie.sys.modules.quote.controller; |
|||
|
|||
import com.xujie.sys.common.utils.R; |
|||
import com.xujie.sys.modules.quote.entity.QuoteDetailAttribute; |
|||
import com.xujie.sys.modules.quote.service.QuoteDetailAttributeService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.List; |
|||
|
|||
@RestController |
|||
@RequestMapping("/quote/detail/attribute") |
|||
public class QuoteDetailAttributeController { |
|||
|
|||
@Autowired |
|||
private QuoteDetailAttributeService quoteDetailAttributeService; |
|||
@PostMapping |
|||
public R queryQuoteDetailAttribute(@RequestBody QuoteDetailAttribute attribute) { |
|||
List<QuoteDetailAttribute> list = quoteDetailAttributeService.queryQuoteDetailAttribute(attribute); |
|||
return R.ok().put("rows", list); |
|||
} |
|||
|
|||
@PostMapping("/item") |
|||
public R queryQuoteDetailAttributeByItem(@RequestBody QuoteDetailAttribute attribute) { |
|||
List<QuoteDetailAttribute> list = quoteDetailAttributeService.queryQuoteDetailAttributeByItem(attribute); |
|||
return R.ok().put("rows", list); |
|||
} |
|||
|
|||
@PostMapping("/batch/update") |
|||
public R batchUpdateQuoteDetailAttribute(@RequestBody List<QuoteDetailAttribute> attributeList) { |
|||
quoteDetailAttributeService.batchUpdateQuoteDetailAttribute(attributeList); |
|||
return R.ok("操作成功"); |
|||
} |
|||
} |
|||
@ -0,0 +1,63 @@ |
|||
package com.xujie.sys.modules.quote.entity; |
|||
|
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
@Data |
|||
@TableName("plm_quote_detail_attribute") |
|||
public class QuoteDetailAttribute { |
|||
|
|||
@TableId |
|||
private Long id; |
|||
|
|||
private Long quoteDetailId; |
|||
|
|||
private Long quoteId; |
|||
|
|||
private String quoteNo; |
|||
|
|||
private String site; |
|||
|
|||
private String buNo; |
|||
|
|||
private String versionNo; |
|||
|
|||
private Integer quoteDetailItemNo; |
|||
|
|||
/** |
|||
* 模板编码 |
|||
*/ |
|||
private String codeNo; |
|||
/** |
|||
* 模板类型 |
|||
*/ |
|||
private String itemType; |
|||
/** |
|||
* 模板属性编码 |
|||
*/ |
|||
private String itemNo; |
|||
|
|||
private String textValue; |
|||
|
|||
private BigDecimal numValue; |
|||
|
|||
private String createBy; |
|||
|
|||
private Date createDate; |
|||
|
|||
private String updateBy; |
|||
|
|||
private Date updateDate; |
|||
|
|||
@TableField(exist = false) |
|||
private String valueType; |
|||
@TableField(exist = false) |
|||
private String itemDesc; |
|||
|
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
package com.xujie.sys.modules.quote.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.xujie.sys.modules.quote.entity.QuoteDetail; |
|||
import com.xujie.sys.modules.quote.entity.QuoteDetailAttribute; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
|
|||
@Mapper |
|||
public interface QuoteDetailAttributeMapper extends BaseMapper<QuoteDetailAttribute> { |
|||
|
|||
void initQuoteDetailAttribute(QuoteDetail quoteDetail); |
|||
|
|||
List<QuoteDetailAttribute> queryQuoteDetailAttribute(QuoteDetailAttribute attribute); |
|||
|
|||
List<QuoteDetailAttribute> queryQuoteDetailAttributeByItem(QuoteDetailAttribute attribute); |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
package com.xujie.sys.modules.quote.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.xujie.sys.modules.quote.entity.QuoteDetail; |
|||
import com.xujie.sys.modules.quote.entity.QuoteDetailAttribute; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface QuoteDetailAttributeService extends IService<QuoteDetailAttribute> { |
|||
|
|||
void initQuoteDetailAttribute(QuoteDetail quoteDetail); |
|||
|
|||
List<QuoteDetailAttribute> queryQuoteDetailAttribute(QuoteDetailAttribute attribute); |
|||
|
|||
void batchUpdateQuoteDetailAttribute(List<QuoteDetailAttribute> attributeList); |
|||
|
|||
List<QuoteDetailAttribute> queryQuoteDetailAttributeByItem(QuoteDetailAttribute attribute); |
|||
} |
|||
@ -0,0 +1,39 @@ |
|||
package com.xujie.sys.modules.quote.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.xujie.sys.modules.quote.entity.QuoteDetail; |
|||
import com.xujie.sys.modules.quote.entity.QuoteDetailAttribute; |
|||
import com.xujie.sys.modules.quote.mapper.QuoteDetailAttributeMapper; |
|||
import com.xujie.sys.modules.quote.service.QuoteDetailAttributeService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Service |
|||
@Slf4j |
|||
public class QuoteDetailAttributeServiceImpl extends ServiceImpl<QuoteDetailAttributeMapper,QuoteDetailAttribute> implements QuoteDetailAttributeService { |
|||
|
|||
@Override |
|||
public void initQuoteDetailAttribute(QuoteDetail quoteDetail) { |
|||
// 查找模板 BJ001 的属性 |
|||
baseMapper.initQuoteDetailAttribute(quoteDetail); |
|||
} |
|||
|
|||
@Override |
|||
public List<QuoteDetailAttribute> queryQuoteDetailAttribute(QuoteDetailAttribute attribute) { |
|||
return baseMapper.queryQuoteDetailAttribute(attribute); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional |
|||
public void batchUpdateQuoteDetailAttribute(List<QuoteDetailAttribute> attributeList) { |
|||
updateBatchById(attributeList); |
|||
} |
|||
|
|||
@Override |
|||
public List<QuoteDetailAttribute> queryQuoteDetailAttributeByItem(QuoteDetailAttribute attribute) { |
|||
return baseMapper.queryQuoteDetailAttributeByItem(attribute); |
|||
} |
|||
} |
|||
@ -0,0 +1,76 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.xujie.sys.modules.quote.mapper.QuoteDetailAttributeMapper"> |
|||
|
|||
<insert id="initQuoteDetailAttribute"> |
|||
insert into plm_quote_detail_attribute(quote_detail_id,quote_id, quote_no, site, bu_no, version_no, quote_detail_item_no, |
|||
code_no, item_type, item_no, text_value, num_value, create_by, |
|||
create_date) |
|||
select #{id}, #{quoteId}, #{quoteNo}, #{site}, #{buNo}, #{versionNo}, #{itemNo}, |
|||
pmd.code_no,pmd.function_type,pmd.properties_item_no,null,null,#{createBy},#{createDate} |
|||
from plm_properties_model_detail pmd |
|||
inner join plm_properties_item ppi |
|||
on pmd.site = ppi.site |
|||
and pmd.bu_no = ppi.bu_no |
|||
and pmd.function_type = ppi.item_type |
|||
and pmd.properties_item_no = ppi.item_no |
|||
where pmd.site = #{site} |
|||
and pmd.bu_no = #{buNo} |
|||
and pmd.function_type = 'QUOTE' |
|||
and pmd.code_no = 'BJ001' |
|||
order by pmd.order_id |
|||
</insert> |
|||
<select id="queryQuoteDetailAttribute" |
|||
resultType="com.xujie.sys.modules.quote.entity.QuoteDetailAttribute"> |
|||
select qda.id, |
|||
qda.quote_detail_id, |
|||
qda.quote_id, |
|||
qda.quote_no, |
|||
qda.site, |
|||
qda.bu_no, |
|||
qda.version_no, |
|||
qda.quote_detail_item_no, |
|||
qda.code_no, |
|||
qda.item_type, |
|||
qda.item_no, |
|||
qda.text_value, |
|||
qda.num_value, |
|||
qda.create_by, |
|||
qda.create_date, |
|||
qda.update_by, |
|||
qda.update_date, |
|||
ppi.item_desc, |
|||
ppi.value_type |
|||
from plm_quote_detail_attribute qda |
|||
left join plm_properties_item ppi on qda.site = ppi.site |
|||
and qda.bu_no = ppi.bu_no |
|||
and qda.item_type = ppi.item_type |
|||
and qda.item_no = ppi.item_no |
|||
where quote_detail_id = #{quoteDetailId} |
|||
</select> |
|||
<select id="queryQuoteDetailAttributeByItem" |
|||
resultType="com.xujie.sys.modules.quote.entity.QuoteDetailAttribute"> |
|||
select ppi.site, |
|||
ppi.bu_no, |
|||
ppi.item_no, |
|||
ppi.item_type, |
|||
ppi.item_desc, |
|||
'BJ001' as code_no, |
|||
#{quoteDetailId} as quote_detail_id, |
|||
#{quoteId} as quote_id, |
|||
#{quoteNo} as quote_no, |
|||
#{versionNo} as version_no, |
|||
#{quoteDetailItemNo} as quote_detail_item_no |
|||
from plm_properties_item ppi |
|||
where ppi.site = #{site} |
|||
and ppi.bu_no = #{buNo} |
|||
and ppi.item_type = 'QUOTE' |
|||
and ppi.item_no not in (select qda.item_no from plm_quote_detail_attribute qda where quote_detail_id = #{quoteDetailId}) |
|||
<if test="itemNo!= null and itemNo != ''"> |
|||
and ppi.item_no like #{itemNo} |
|||
</if> |
|||
<if test="itemDesc!= null and itemDesc != ''"> |
|||
and ppi.item_desc like #{itemDesc} |
|||
</if> |
|||
</select> |
|||
</mapper> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue