ruanqi 1 year ago
parent
commit
5a3ce73d09
  1. 21
      src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java
  2. 13
      src/main/java/com/xujie/sys/modules/ecss/data/EcssHsCodeData.java
  3. 132
      src/main/java/com/xujie/sys/modules/ecss/entity/EcssHsCode.java
  4. 16
      src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java
  5. 6
      src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java
  6. 72
      src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java
  7. 75
      src/main/resources/mapper/ecss/CoDelMapper.xml

21
src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java

@ -5,6 +5,7 @@ import com.xujie.sys.common.utils.R;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData;
import com.xujie.sys.modules.ecss.data.EcssHsCodeData;
import com.xujie.sys.modules.ecss.entity.EcssCoDelNotify;
import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyDetail;
import com.xujie.sys.modules.ecss.service.CoDelService;
@ -30,6 +31,13 @@ public class CoDelController {
return R.ok().put("page", page);
}
@PostMapping(value="/searchEcssCoDelNotifyHeaderForCK")
@ResponseBody
public R searchEcssCoDelNotifyHeaderForCK(@RequestBody EcssCoDelNotifyHeaderData data) {
PageUtils page = coDelService.searchEcssCoDelNotifyHeaderForCK(data);
return R.ok().put("page", page);
}
@PostMapping(value="/searchEcssCoDelNotifyDetail")
@ResponseBody
public R searchEcssCoDelNotifyDetail(@RequestBody EcssCoDelNotifyHeaderData data) {
@ -85,4 +93,17 @@ public class CoDelController {
coDelService.cancerConfirmEcssDel(data);
return R.ok();
}
@PostMapping("/searchHsCodeData")
public R searchHsCodeData(@RequestBody EcssHsCodeData data) {
PageUtils page = coDelService.searchHsCodeData(data);
return R.ok().put("page", page);
}
@PostMapping("/saveHSCodeData")
public R saveHSCodeData(@RequestBody EcssHsCodeData data) {
coDelService.saveHSCodeData(data);
return R.ok();
}
}

13
src/main/java/com/xujie/sys/modules/ecss/data/EcssHsCodeData.java

@ -0,0 +1,13 @@
package com.xujie.sys.modules.ecss.data;
import com.xujie.sys.modules.ecss.entity.EcssHsCode;
import lombok.Data;
import org.apache.ibatis.type.Alias;
@Data
@Alias("EcssHsCodeData")
public class EcssHsCodeData extends EcssHsCode {
private String username;
private String buDesc;
private Integer addFlag;
}

132
src/main/java/com/xujie/sys/modules/ecss/entity/EcssHsCode.java

@ -0,0 +1,132 @@
package com.xujie.sys.modules.ecss.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xujie.sys.common.utils.QueryPage;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public class EcssHsCode extends QueryPage {
/**
*
*/
private String site;
/**
*
*/
private String buNo;
/**
*
*/
private String hsCode;
/**
*
*/
private String remark;
/**
*
*/
private String createBy;
/**
*
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createDate;
/**
*
*/
private String updateBy;
/**
*
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateDate;
/**
*
*/
private String codeNo;
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getBuNo() {
return buNo;
}
public void setBuNo(String buNo) {
this.buNo = buNo;
}
public String getHsCode() {
return hsCode;
}
public void setHsCode(String hsCode) {
this.hsCode = hsCode;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public String getCodeNo() {
return codeNo;
}
public void setCodeNo(String codeNo) {
this.codeNo = codeNo;
}
}

16
src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java

@ -2,9 +2,11 @@ package com.xujie.sys.modules.ecss.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xujie.sys.modules.attrbute.entity.PropertyModelHeader;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData;
import com.xujie.sys.modules.ecss.data.EcssHsCodeData;
import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyDetail;
import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyHeader;
import com.xujie.sys.modules.orderIssure.entity.PartData;
@ -18,6 +20,9 @@ import java.util.List;
public interface CoDelMapper {
IPage<EcssCoDelNotifyHeaderData> searchEcssCoDelNotifyHeader(Page<EcssCoDelNotifyHeaderData> ecssCoDelNotifyDataPage, @Param("query") EcssCoDelNotifyHeaderData data);
IPage<EcssCoDelNotifyHeaderData> searchEcssCoDelNotifyHeaderForCK(Page<EcssCoDelNotifyHeaderData> ecssCoDelNotifyDataPage, @Param("query") EcssCoDelNotifyHeaderData data);
List<EcssCoDelNotifyHeaderData> checkEcssCoDelNotifyHeaderByDelNo( @Param("site") String site,@Param("delNo") String delNo);
List<EcssCoDelNotifyDetailData> searchEcssCoDelNotifyDetail(EcssCoDelNotifyHeaderData data);
@ -39,4 +44,15 @@ public interface CoDelMapper {
void deleteEcssDelDetail(EcssCoDelNotifyDetail data);
void confirmEcssDel(EcssCoDelNotifyHeaderData data);
IPage<EcssHsCodeData> searchHsCodeData(Page<EcssHsCodeData> ecssHsCodeDataPage, @Param("query") EcssHsCodeData data);
List<EcssHsCodeData> checkHsCodeData(EcssHsCodeData inData);
List<PropertyModelHeader> checkPropertiesModel(@Param("site") String site, @Param("buNo") String buNo, @Param("codeNo") String codeNo, @Param("functionType") String functionType);
void insertHsCodeData(EcssHsCodeData inData);
void updateHsCodeData(EcssHsCodeData inData);
}

6
src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java

@ -4,6 +4,7 @@ import com.xujie.sys.common.utils.PageUtils;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData;
import com.xujie.sys.modules.ecss.data.EcssHsCodeData;
import com.xujie.sys.modules.orderIssure.entity.SOIssueNotifyHeaderData;
import org.springframework.web.bind.annotation.RequestBody;
@ -14,6 +15,7 @@ import java.util.List;
public interface CoDelService {
PageUtils searchEcssCoDelNotifyHeader(EcssCoDelNotifyHeaderData data);
PageUtils searchEcssCoDelNotifyHeaderForCK(EcssCoDelNotifyHeaderData data);
List<EcssCoDelNotifyDetailData> searchEcssCoDelNotifyDetail(EcssCoDelNotifyHeaderData data);
void saveEcssCoDelNotifyByExcel(MultipartFile file, EcssCoDelNotifyHeaderData data);
@ -30,4 +32,8 @@ public interface CoDelService {
void confirmEcssDel(EcssCoDelNotifyHeaderData data);
void cancerConfirmEcssDel(EcssCoDelNotifyHeaderData data);
PageUtils searchHsCodeData(EcssHsCodeData data);
void saveHSCodeData(EcssHsCodeData data);
}

72
src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java

@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xujie.sys.common.utils.DateUtils;
import com.xujie.sys.common.utils.PageUtils;
import com.xujie.sys.modules.attrbute.entity.PropertyModelHeader;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData;
import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData;
import com.xujie.sys.modules.ecss.data.EcssHsCodeData;
import com.xujie.sys.modules.ecss.entity.EcssCoDelNotify;
import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyDetail;
import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyHeader;
@ -16,8 +18,8 @@ import com.xujie.sys.modules.ecss.mapper.CoDelMapper;
import com.xujie.sys.modules.ecss.service.CoDelService;
import com.xujie.sys.modules.orderIssure.entity.PartData;
import com.xujie.sys.modules.orderIssure.entity.SOIssueNotifyHeaderData;
import com.xujie.sys.modules.part.entity.PartInformationEntity;
import com.xujie.sys.modules.part.entity.RoutingComponentEntity;
import com.xujie.sys.modules.part.entity.*;
import com.xujie.sys.modules.part.mapper.PartInformationMapper;
import com.xujie.sys.modules.part.vo.BomComponentVo;
import com.xujie.sys.modules.pms.mapper.EamMapper;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
@ -45,6 +47,9 @@ import java.util.stream.Collectors;
@Service
public class CoDelServiceImpl implements CoDelService {
@Autowired
private PartInformationMapper partInformationMapper;
@Autowired
private CoDelMapper coDelMapper;
@Autowired
@ -55,7 +60,12 @@ public class CoDelServiceImpl implements CoDelService {
return new PageUtils(resultList);
}
@Override
public PageUtils searchEcssCoDelNotifyHeaderForCK(EcssCoDelNotifyHeaderData data){
IPage<EcssCoDelNotifyHeaderData> resultList = coDelMapper.searchEcssCoDelNotifyHeaderForCK(new Page<EcssCoDelNotifyHeaderData>(data.getPage(), data.getLimit()), data);
return new PageUtils(resultList);
}
@Override
public List<EcssCoDelNotifyDetailData> searchEcssCoDelNotifyDetail(EcssCoDelNotifyHeaderData data){
return coDelMapper.searchEcssCoDelNotifyDetail(data);
@ -309,4 +319,62 @@ public class CoDelServiceImpl implements CoDelService {
data.setNotifyStatus("已下达");
coDelMapper.confirmEcssDel(data);
}
@Override
public PageUtils searchHsCodeData(EcssHsCodeData data){
IPage<EcssHsCodeData> resultList = coDelMapper.searchHsCodeData(new Page<EcssHsCodeData>(data.getPage(), data.getLimit()), data);
return new PageUtils(resultList);
}
@Override
@Transactional
public void saveHSCodeData(EcssHsCodeData inData){
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String site= coDelMapper.getSiteByBu(inData.getBuNo());
List<PropertyModelHeader> checkModel=coDelMapper.checkPropertiesModel(site,inData.getBuNo(),inData.getCodeNo(),"ECSS");
if(checkModel.size()==0){
throw new RuntimeException("属性模板不存在。" );
}
if(inData.getAddFlag()==0){
//0是新增
inData.setCreateBy(currentUser.getUsername());
inData.setSite(site);
List<EcssHsCodeData> checkHsCodeData=coDelMapper.checkHsCodeData(inData);
if(checkHsCodeData.size()>0){
throw new RuntimeException("该BU已经存在了这个HSCode,请检查数据。" );
}
coDelMapper.insertHsCodeData(inData);
PartSubPropertiesValueData propertiesData=new PartSubPropertiesValueData();
propertiesData.setSite(site);
propertiesData.setBuNo(inData.getBuNo());
propertiesData.setCodeNo(inData.getCodeNo());
propertiesData.setRecordType("ECSS");
propertiesData.setPartNo(inData.getHsCode());
partInformationMapper.savePartSubPropertiesValueHeader(propertiesData);
partInformationMapper.savePartSubPropertiesValue(propertiesData);
}else {
inData.setUpdateBy(currentUser.getUsername());
inData.setSite(site);
List<EcssHsCodeData> checkHsCodeData=coDelMapper.checkHsCodeData(inData);
if(checkHsCodeData.size()==0){
throw new RuntimeException("这个HSCode已经不存在,请检查数据。" );
}
coDelMapper.updateHsCodeData(inData);
PartSubPropertiesValueData propertiesData=new PartSubPropertiesValueData();
propertiesData.setSite(site);
propertiesData.setBuNo(inData.getBuNo());
propertiesData.setCodeNo(inData.getCodeNo());
propertiesData.setRecordType("ECSS");
propertiesData.setPartNo(inData.getHsCode());
List<PartSubPropertiesValueHeaderData> checkValueHeaderData= partInformationMapper.checkValueHeaderData(propertiesData);
if(checkValueHeaderData.size()==0){
partInformationMapper.deletePartSubPropertiesValueHeader(propertiesData);
partInformationMapper.deletePartSubPropertiesValue(propertiesData);
partInformationMapper.savePartSubPropertiesValueHeader(propertiesData);
partInformationMapper.savePartSubPropertiesValue(propertiesData);
}
}
}
}

75
src/main/resources/mapper/ecss/CoDelMapper.xml

@ -49,6 +49,37 @@
order by a.ready_date desc ,a.delNo desc
</select>
<select id="searchEcssCoDelNotifyHeaderForCK" resultType="EcssCoDelNotifyHeaderData">
select a.site,a.bu_no,a.delNo,a.erp_delNo,a.ready_date,a.notifyDate,a.customer_name,a.Destination,a.shipping_mode,a.erp_flag,
a.notify_status,a.remark,a.createDate,a.createBy,a.cmc_invoice,a.updateDate,a.updateBy,dbo.get_bu_desc(a.site,a.bu_no) as buDesc
from ecss_CoDelNotifyHeader a
left join accessBu D on A.site=D.site and A.bu_no=d.bu_no and D.username=#{query.username}
<where>
and D.site is not null
<if test="query.buNo != null and query.buNo != ''">
AND a.bu_no = #{query.buNo}
</if>
<if test="query.delNo != null and query.delNo != ''">
AND a.delNo like #{query.delNo}
</if>
<if test="query.cmcInvoice != null and query.cmcInvoice != ''">
AND a.cmc_invoice like #{query.cmcInvoice}
</if>
<if test="query.notifyStatus != null and query.notifyStatus != ''">
AND a.notify_status = #{query.notifyStatus}
</if>
AND a.notify_status != '已计划'
<if test = "query.startDate!= null">
AND a.ready_date>= #{query.startDate}
</if>
<if test = "query.endDate!= null">
AND #{query.endDate} >=a.ready_date
</if>
</where>
order by a.ready_date desc ,a.delNo desc
</select>
<select id="checkEcssCoDelNotifyHeaderByDelNo" resultType="EcssCoDelNotifyHeaderData">
select a.site,a.bu_no,a.delNo,a.erp_delNo,a.ready_date,a.notifyDate,a.customer_name,a.Destination,a.shipping_mode,a.erp_flag,
a.notify_status,a.remark,a.createDate,a.createBy,a.cmc_invoice,a.updateDate,a.updateBy,dbo.get_bu_desc(a.site,a.bu_no) as buDesc
@ -149,4 +180,48 @@
<update id="confirmEcssDel">
update ecss_CoDelNotifyHeader set notify_status=#{notifyStatus} ,notifyDate=#{notifyDate,jdbcType=TIMESTAMP} where site=#{site} and delNo=#{delNo}
</update>
<select id="searchHsCodeData" resultType="EcssHsCodeData">
select a.Site,a.BuNo,a.HsCode,a.Remark,a.CreateBy,a.CreateDate,a.UpdateBy,a.UpdateDate,a.codeNo
,dbo.get_bu_desc(a.site,a.BuNo) as BuDesc
from ecss_hsCode a
left join accessBu D on A.site=D.site and A.BuNo=d.bu_no and D.username=#{query.username}
<where>
and D.site is not null
<if test="query.buNo != null and query.buNo != ''">
AND a.bu_no = #{query.buNo}
</if>
<if test="query.hsCode != null and query.hsCode != ''">
AND a.HsCode like #{query.hsCode}
</if>
</where>
order by a.CreateDate ,a.HsCode
</select>
<select id="checkHsCodeData" resultType="EcssHsCodeData">
select a.Site,a.BuNo,a.HsCode
from ecss_hsCode a where a.site=#{site} and a.buNo=#{buNo} and a.HsCode=#{hsCode}
</select>
<select id="checkPropertiesModel" resultType="com.xujie.sys.modules.attrbute.entity.PropertyModelHeader">
select site,bu_no,function_type ,code_no from plm_properties_model_header
where site=#{site} and bu_no=#{buNo} and function_type=#{functionType} and code_no=#{codeNo}
</select>
<insert id="insertHsCodeData" >
insert into ecss_hsCode (Site,BuNo,HsCode,Remark,CreateBy,CreateDate,codeNo)
values(#{site},#{buNo},#{hsCode},#{remark},#{createBy},GetDate(),#{codeNo})
</insert>
<update id="updateHsCodeData">
update ecss_hsCode set Remark=#{remark} ,codeNo=#{codeNo} ,UpdateDate=GetDate(),UpdateBy=#{updateBy}
where site=#{site} and buNo=#{buNo} and HsCode=#{hsCode}
</update>
</mapper>
Loading…
Cancel
Save