From 45533a6272083948c6a19e453ca7fa5ed05b8c94 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期三, 14 五月 2025 10:18:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml | 3
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java | 35 ++++++++
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWorkCalendarMapper.java | 8 ++
aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsWorkCalendarController.java | 63 +++++++++++----
aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java | 12 +++
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java | 55 +++++++------
aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml | 30 ++++++-
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWorkCalendarService.java | 7 +
aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml | 3
9 files changed, 167 insertions(+), 49 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java
index 9571d12..396f46a 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java
@@ -129,4 +129,16 @@
return AjaxResult.error("妯℃澘鍐呭涓虹┖");
}
}
+
+ /**
+ * 鏍规嵁杞﹂棿鏌ヨ鏍囧噯宸ュ簭鍒楄〃
+ */
+ @Operation(summary = "鏍规嵁杞﹂棿鏌ヨ鏍囧噯宸ュ簭鍒楄〃", description = "鍏ㄩ噺鏌ヨ")
+ @RequiresPermissions("aps:standardProcess:listByWorkShop")
+ @GetMapping("/listByWorkShop")
+ public TableDataInfo listByWorkShop(ApsStandardProcess apsStandardProcess)
+ {
+ List<ApsStandardProcess> list = apsStandardProcessService.selectApsStandardProcessList(apsStandardProcess);
+ return getDataTable(list);
+ }
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsWorkCalendarController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsWorkCalendarController.java
index 07371ca..70da1b4 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsWorkCalendarController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsWorkCalendarController.java
@@ -71,35 +71,49 @@
@PostMapping
public AjaxResult add(@RequestBody ApsWorkCalendar apsWorkCalendar)
{
- ApsWorkCalendar tempCheck = new ApsWorkCalendar();
- tempCheck.setEffectiveDate(apsWorkCalendar.getEffectiveDate());
- tempCheck.setExpiringDate(apsWorkCalendar.getExpiringDate());
- tempCheck.setApplicableFactory(apsWorkCalendar.getApplicableFactory());
- List<ApsWorkCalendar> list = apsWorkCalendarService.selectApsWorkCalendarList(tempCheck);
- if(!list.isEmpty()){
- return AjaxResult.error("璇ユ椂闂存鏃ュ巻宸插瓨鍦�", list);
- }else{
- return toAjax(apsWorkCalendarService.insertApsWorkCalendar(apsWorkCalendar));
+ try {
+ ApsWorkCalendar tempCheck = new ApsWorkCalendar();
+ tempCheck.setEffectiveDate(apsWorkCalendar.getEffectiveDate());
+ tempCheck.setExpiringDate(apsWorkCalendar.getExpiringDate());
+ tempCheck.setApplicableFactory(apsWorkCalendar.getApplicableFactory());
+ tempCheck.setType(apsWorkCalendar.getType());
+ List<ApsWorkCalendar> list = apsWorkCalendarService.selectApsWorkCalendarList(tempCheck);
+ if(!list.isEmpty()){
+ return AjaxResult.error("璇ユ椂闂存鏃ュ巻宸插瓨鍦�", list);
+ }else{
+ apsWorkCalendarService.insertApsWorkCalendar(apsWorkCalendar);
+ return success();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return error();
}
}
/**
* 淇敼鏃ュ巻绠$悊
*/
- @RequiresPermissions("aps:calendar:edit")
+// @RequiresPermissions("aps:calendar:edit")
@Log(title = "鏃ュ巻绠$悊", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ApsWorkCalendar apsWorkCalendar)
{
- ApsWorkCalendar tempCheck = new ApsWorkCalendar();
- tempCheck.setEffectiveDate(apsWorkCalendar.getEffectiveDate());
- tempCheck.setExpiringDate(apsWorkCalendar.getExpiringDate());
- tempCheck.setApplicableFactory(apsWorkCalendar.getApplicableFactory());
- List<ApsWorkCalendar> list = apsWorkCalendarService.selectApsWorkCalendarList(tempCheck);
- if(!list.isEmpty()){
- return AjaxResult.error("璇ユ椂闂存鏃ュ巻宸插瓨鍦�", list);
- }else{
- return toAjax(apsWorkCalendarService.updateApsWorkCalendar(apsWorkCalendar));
+ try {
+// ApsWorkCalendar tempCheck = new ApsWorkCalendar();
+// tempCheck.setEffectiveDate(apsWorkCalendar.getEffectiveDate());
+// tempCheck.setExpiringDate(apsWorkCalendar.getExpiringDate());
+// tempCheck.setApplicableFactory(apsWorkCalendar.getApplicableFactory());
+// tempCheck.setType(apsWorkCalendar.getType());
+// List<ApsWorkCalendar> list = apsWorkCalendarService.selectApsWorkCalendarList(tempCheck);
+// if(!list.isEmpty()){
+// return AjaxResult.error("璇ユ椂闂存鏃ュ巻宸插瓨鍦�", list);
+// }else{
+ apsWorkCalendarService.updateApsWorkCalendar(apsWorkCalendar);
+ return success();
+// }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return error();
}
}
@@ -115,6 +129,17 @@
}
/**
+ * 鍒犻櫎鏃ュ巻绠$悊
+ */
+ @RequiresPermissions("aps:calendar:delete")
+ @Log(title = "鍒犻櫎鏃ュ巻绠$悊", businessType = BusinessType.DELETE)
+ @PostMapping("/deleteApsWorkCalendar")
+ public AjaxResult deleteApsWorkCalendar(@RequestBody ApsWorkCalendar apsWorkCalendar)
+ {
+ return toAjax(apsWorkCalendarService.deleteApsWorkCalendar(apsWorkCalendar));
+ }
+
+ /**
* 鏌ヨ鏃ュ巻绠$悊鍒楄〃
*/
@RequiresPermissions("aps:calendar:list")
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java
index 7064fa4..907b4ff 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsWorkCalendar.java
@@ -55,7 +55,40 @@
@Excel(name = "閫傜敤宸ュ簭")
private String applicableProcess;
- public void setId(Long id)
+ /** 鑺傚亣鏃� */
+ private Object holidays;
+
+ /** 閫傜敤宸ュ巶/杞﹂棿/宸ュ簭鏁扮粍 */
+ private Object applicable;
+
+ /** 閫傜敤宸ュ巶/杞﹂棿/宸ュ簭鏁扮粍 鍥炴樉 */
+ private String applicableTranslate;
+
+ public String getApplicableTranslate() {
+ return applicableTranslate;
+ }
+
+ public void setApplicableTranslate(String applicableTranslate) {
+ this.applicableTranslate = applicableTranslate;
+ }
+
+ public Object getHolidays() {
+ return holidays;
+ }
+
+ public void setHolidays(Object holidays) {
+ this.holidays = holidays;
+ }
+
+ public Object getApplicable() {
+ return applicable;
+ }
+
+ public void setApplicable(Object applicable) {
+ this.applicable = applicable;
+ }
+
+ public void setId(Long id)
{
this.id = id;
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWorkCalendarMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWorkCalendarMapper.java
index 1d1e91a..4123a3e 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWorkCalendarMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsWorkCalendarMapper.java
@@ -59,4 +59,12 @@
* @return 缁撴灉
*/
public int deleteApsWorkCalendarByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎鏃ュ巻绠$悊
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteApsWorkCalendar(ApsWorkCalendar apsWorkCalendar);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWorkCalendarService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWorkCalendarService.java
index 95d639f..fe13d24 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWorkCalendarService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsWorkCalendarService.java
@@ -75,4 +75,11 @@
* @return JSONArray
*/
JSONArray selectCalendarView(ApsWorkCalendar apsWorkCalendar);
+
+ /**
+ * 鍒犻櫎鏃ュ巻鏁版嵁
+ * @param apsWorkCalendar
+ * @return
+ */
+ public int deleteApsWorkCalendar(ApsWorkCalendar apsWorkCalendar);
}
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java
index 1137c2b..51c0189 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWorkCalendarServiceImpl.java
@@ -158,33 +158,33 @@
List<ApsWorkCalendar> list = apsWorkCalendarMapper.selectApsWorkCalendarList(apsWorkCalendar);
for (ApsWorkCalendar apsWorkCalendarTemp : list) {
//宸ヤ綔鏃�
- if("1".equals(apsWorkCalendarTemp.getType())){
- //鑾峰彇鏃ュ巻瑙勫垯
- org.postgresql.util.PGobject pgObject = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getContent();
- JSONArray weekdays = (JSON.parseObject(pgObject.getValue())).getJSONArray("weekdays");
- HashMap<String, String> weekdaysMap = new HashMap<>();
- for (int i = 0; i < weekdays.size(); i++) {
- weekdaysMap.put(weekdays.getJSONObject(i).getString("day"), weekdays.getJSONObject(i).getString("work"));
- }
- //鏍规嵁effectiveDate鍜宔xpiringDate绠楀嚭鏃ユ湡鑼冨洿鍐呯殑姣忎竴澶�
- List<LocalDate> datesTemp = getDatesBetween(apsWorkCalendarTemp.getEffectiveDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), apsWorkCalendarTemp.getExpiringDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
- for (LocalDate dateTemp: datesTemp) {
- if(baseCalendar.containsKey(dateTemp+"")){
- if ("y".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
- baseCalendar.put(dateTemp+"", "宸ヤ綔鏃�");
- } else if("n".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
- baseCalendar.put(dateTemp+"", "浼戞伅鏃�");
- }
+ org.postgresql.util.PGobject pgObjectWeekdays = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getContent();
+ JSONArray weekdays = (JSON.parseObject(pgObjectWeekdays.getValue())).getJSONArray("weekdays");
+ HashMap<String, String> weekdaysMap = new HashMap<>();
+ for (int i = 0; i < weekdays.size(); i++) {
+ weekdaysMap.put(weekdays.getJSONObject(i).getString("day"), weekdays.getJSONObject(i).getString("work"));
+ }
+ List<LocalDate> datesTempWeekdays = getDatesBetween(apsWorkCalendarTemp.getEffectiveDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), apsWorkCalendarTemp.getExpiringDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
+ for (LocalDate dateTemp: datesTempWeekdays) {
+ if(baseCalendar.containsKey(dateTemp+"")){
+ if ("y".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
+ baseCalendar.put(dateTemp+"", "宸ヤ綔鏃�");
+ } else if("n".equals(weekdaysMap.get(dateTemp.getDayOfWeek().getDisplayName(java.time.format.TextStyle.FULL, Locale.ENGLISH)))) {
+ baseCalendar.put(dateTemp+"", "浼戞伅鏃�");
}
}
- }else if("2".equals(apsWorkCalendarTemp.getType())){
- //浼戞伅鏃�
- org.postgresql.util.PGobject pgObject = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getContent();
- JSONObject holidays = (JSON.parseObject(pgObject.getValue())).getJSONObject("holidays");
- List<LocalDate> datesTemp = getDatesBetween(holidays.getObject("startdate", LocalDate.class), holidays.getObject("enddate", LocalDate.class));
- for (LocalDate dateTemp: datesTemp) {
- if(baseCalendar.containsKey(dateTemp+"")){
- baseCalendar.put(dateTemp+"", "鑺傚亣鏃�");
+ }
+ //浼戞伅鏃�
+ org.postgresql.util.PGobject pgObjectHolidays = (org.postgresql.util.PGobject) apsWorkCalendarTemp.getHolidays();
+ if(pgObjectHolidays!=null){
+ JSONArray holidays = (JSON.parseObject(pgObjectHolidays.getValue())).getJSONArray("holidays");
+ for (int i = 0; i < holidays.size(); i++){
+ JSONObject h = holidays.getJSONObject(i);
+ List<LocalDate> datesTempHolidays = getDatesBetween(h.getObject("startdate", LocalDate.class), h.getObject("enddate", LocalDate.class));
+ for (LocalDate dateTemp: datesTempHolidays) {
+ if(baseCalendar.containsKey(dateTemp+"")){
+ baseCalendar.put(dateTemp+"", "鑺傚亣鏃�");
+ }
}
}
}
@@ -202,6 +202,11 @@
return res;
}
+ @Override
+ public int deleteApsWorkCalendar(ApsWorkCalendar apsWorkCalendar){
+ return apsWorkCalendarMapper.deleteApsWorkCalendar(apsWorkCalendar);
+ }
+
private List<LocalDate> getCalendarData(int year, int month) {
// 鑾峰彇4鏈�1鍙风殑褰撳懆鐨勫懆鏃�
LocalDate startDate = LocalDate.of(year, month, 1)
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml
index 642ac4c..b6effe1 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsWorkCalendarMapper.xml
@@ -18,10 +18,13 @@
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
+ <result property="holidays" column="holidays" />
+ <result property="applicable" column="applicable" />
+ <result property="applicableTranslate" column="applicable_translate" />
</resultMap>
<sql id="selectApsWorkCalendarVo">
- select id, description, type, effective_date, expiring_date, content, applicable_factory, applicable_workshop, applicable_process, create_by, create_time, update_by, update_time from aps_work_calendar
+ select id, description, type, effective_date, expiring_date, content, applicable_factory, applicable_workshop, applicable_process, create_by, create_time, update_by, update_time, holidays, applicable, applicable_translate from aps_work_calendar
</sql>
<select id="selectApsWorkCalendarList" parameterType="ApsWorkCalendar" resultMap="ApsWorkCalendarResult">
@@ -31,7 +34,13 @@
<if test="type != null and type != ''"> and type = #{type}</if>
<if test="effectiveDate != null and expiringDate != null"> and ((effective_date >= #{effectiveDate} and effective_date <= #{expiringDate}) or (expiring_date >= #{effectiveDate} and expiring_date <= #{expiringDate}))</if>
<!-- <if test="content != null and content != ''"> and content = #{content}</if>-->
- <if test="applicableFactory != null and applicableFactory != ''"> and applicable_factory = #{applicableFactory}</if>
+ <if test="applicableFactory != null and applicableFactory != ''">
+ and EXISTS (
+ SELECT 1
+ FROM jsonb_array_elements(applicable) AS obj
+ WHERE obj ->> 'factory' = #{applicableFactory}
+ )
+ </if>
<if test="applicableWorkshop != null and applicableWorkshop != ''"> and applicable_workshop = #{applicableWorkshop}</if>
<if test="applicableProcess != null and applicableProcess != ''"> and applicable_process = #{applicableProcess}</if>
</where>
@@ -58,6 +67,9 @@
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
+ <if test="holidays != null">holidays,</if>
+ <if test="applicable != null">applicable,</if>
+ <if test="applicableTranslate != null">applicable_translate,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@@ -73,6 +85,9 @@
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
+ <if test="holidays != null">#{holidays, typeHandler=com.aps.core.typeHandler.JsonTypeHandler, jdbcType=OTHER},</if>
+ <if test="applicable != null">#{applicable, typeHandler=com.aps.core.typeHandler.JsonTypeHandler, jdbcType=OTHER},</if>
+ <if test="applicableTranslate != null">#{applicableTranslate},</if>
</trim>
</insert>
@@ -91,6 +106,9 @@
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="holidays != null">holidays = #{holidays, typeHandler=com.aps.core.typeHandler.JsonTypeHandler, jdbcType=OTHER},</if>
+ <if test="applicable != null">applicable = #{applicable, typeHandler=com.aps.core.typeHandler.JsonTypeHandler, jdbcType=OTHER},</if>
+ <if test="applicableTranslate != null">applicable_translate = #{applicableTranslate},</if>
</trim>
where id = #{id}
</update>
@@ -99,10 +117,14 @@
delete from aps_work_calendar where id = #{id}
</delete>
- <delete id="deleteApsWorkCalendarByIds" parameterType="String">
- delete from aps_work_calendar where id in
+ <delete id="deleteApsWorkCalendarByIds" parameterType="ApsWorkCalendar">
+ delete from aps_work_calendar where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
+
+ <delete id="deleteApsWorkCalendar" parameterType="ApsWorkCalendar">
+ delete from aps_work_calendar where effective_date=#{effectiveDate} and expiring_date=#{expiringDate} and applicable_factory=#{applicableFactory} and applicable_workshop=#{applicableWorkshop} and applicable_process=#{applicableProcess}
+ </delete>
</mapper>
\ No newline at end of file
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml
index 1e0e925..a3bf3fc 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomHeaderJobMapper.xml
@@ -152,6 +152,9 @@
create_by,
now()
FROM aps_bom_header_job
+-- FROM aps_bom_header_job as a
+-- LEFT JOIN aps_material_storage_management as b ON a.item_code = b.item_number
+-- where b.material_type='鍒堕�犱欢'
</insert>
<!-- 鍒犻櫎 aps_bom_header 琛ㄤ腑鐨勬暟鎹� -->
diff --git a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml
index be153bf..63e181e 100644
--- a/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml
+++ b/aps-modules/aps-job/src/main/resources/mapper/job/ApsBomLineJobMapper.xml
@@ -200,6 +200,9 @@
create_by,
now()
FROM aps_bom_line_job
+-- FROM aps_bom_line_job as a
+-- LEFT JOIN aps_material_storage_management as b ON a.item_code = b.item_number
+-- where b.material_type='鍒堕�犱欢'
</insert>
<!-- 鍒犻櫎 aps_bom_line 琛ㄤ腑鐨勬暟鎹� -->
--
Gitblit v1.9.3